Megatest

Check-in [e9d6ea9e8d]
Login
Overview
Comment:Added periodic sync from mtrah area into tmp area to reduce chances of an issue from servers running from more than one host if NFS is super slow.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.80
Files: files | file ages | folders
SHA1: e9d6ea9e8d3f2c2346cf9b96159c6dc3be4cc741
User & Date: matt on 2022-12-11 10:22:15
Other Links: branch diff | manifest | tags
Context
2022-12-11
13:51
Use low-noise-print to make the summary view more stable check-in: 2b7b20907b user: matt tags: v1.80
10:22
Added periodic sync from mtrah area into tmp area to reduce chances of an issue from servers running from more than one host if NFS is super slow. check-in: e9d6ea9e8d user: matt tags: v1.80
2022-12-10
21:42
Don't start servers if not on the host selected for home or there are more than 20 servers running check-in: c1bbcec340 user: matt tags: v1.80
Changes

Modified dbfile.scm from [13bb136850] to [789cb4b125].

1008
1009
1010
1011
1012
1013
1014

1015
1016
1017
1018
1019
1020
1021
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022







+







			(dbr:dbdat-dbfile dbdat)
			"nofilenameavailable"))
	 (jfile     (conc fname"-journal"))
	 #;(subdb     (if have-struct
			(dbfile:get-subdb dbstruct run-id)
			#f))
	 ) ;; was 25
    (assert (sqlite3:database? db) "FATAL: db:with-db, db is not a database, db="db", fname="fname)
    (if (file-exists? jfile)
	(begin
	  (dbfile:print-err "INFO: "jfile" exists, delaying to reduce database load")
	  (thread-sleep! 0.2)))
    (if (and use-mutex
	     (common:low-noise-print 120 "over-50-parallel-api-requests"))
	(dbfile:print-err *api-process-request-count* " parallel api requests being processed in process "

Modified http-transport.scm from [4e52ed5cac] to [76afa47739].

502
503
504
505
506
507
508
509













510
511
512
513
514
515
516
502
503
504
505
506
507
508

509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528







-
+
+
+
+
+
+
+
+
+
+
+
+
+







	    (set! server-going #t)
	    (debug:print 0 *default-log-port* "SERVER: running, megatest version: " (common:get-full-version))) ;; NOTE: the server is NOT yet marked as running in the log. We do that in the keep-running routine.
	  (if (and no-sync-db
		   (common:low-noise-print 10 "sync-all")) ;; cheesy way to reduce frequency of running sync :)
              (begin
		(if (common:low-noise-print 120 "sync-all-print")
                    (debug:print 0 *default-log-port* "keep-running calling db:all-db-sync at " (time->string (seconds->local-time) "%H:%M:%S")))
		(db:all-db-sync *dbstruct-dbs*))))
		(db:all-db-sync *dbstruct-dbs*)
		(if (common:low-noise-print 1800 "sync-back") ;; every half hour do a reverse sync
		    (let* ((lockfile (conc *toppath*"/.megatest/syncback.lock"))
			   (locked   (common:simple-file-lock lockfile)))
		      (if locked
			  (begin
			    (db:multi-db-sync
			     *dbstruct-dbs*
			     'dejunk
			     'adj-testids
			     'old2new)
			    (common:simple-file-release-lock lockfile)))))
		)))
      
      ;; when things go wrong we don't want to be doing the various queries too often
      ;; so we strive to run this stuff only every four seconds or so.
      (let* ((sync-time (- (current-milliseconds) start-time))
	    (rem-time  (quotient (- 4000 sync-time) 1000)))
	(if (and (<= rem-time 4)
		 (>  rem-time 0))