Megatest

Check-in [bc457c7b22]
Login
Overview
Comment:regression on area-dat partial work. caused ever growing open files. Might not be entirely fixed but this seemed to help
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65-real-new-runs-view
Files: files | file ages | folders
SHA1: bc457c7b22c3baeca14102c15b26798ea8ff5784
User & Date: matt on 2021-02-20 23:18:52
Other Links: branch diff | manifest | tags
Context
2021-02-20
23:27
Added back couple missed fucntions for ezsteps check-in: e748d20487 user: matt tags: v1.65-real-new-runs-view
23:18
regression on area-dat partial work. caused ever growing open files. Might not be entirely fixed but this seemed to help check-in: bc457c7b22 user: matt tags: v1.65-real-new-runs-view
22:52
Patched in some waitons stuff check-in: 36a0175612 user: matt tags: v1.65-real-new-runs-view
Changes

Modified dbmod.scm from [b89c505d56] to [3f7ad852eb].

945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
	 (if should-print (debug:print 3 *default-log-port* "INFO: db sync, total run time " runtime " ms"))
	 (for-each 
	  (lambda (dat)
	    (let ((tblname (car dat))
		  (count   (cdr dat)))
	      (set! tot-count (+ tot-count count))
	      (if (> count 0)  ;; concs are there to prevent "Error: (sprintf) illegal format-string character: #\1" which I don't understand.
		  (if should-print (debug:print 0 *default-log-port* (format "    "(conc tblname)" "(conc count))))))) ;; ~10a ~5a"
	  (sort (hash-table->alist numrecs)(lambda (a b)(> (cdr a)(cdr b))))))
       tot-count))))

(define db:trigger-list 
     (list (list "update_runs_trigger"  "CREATE TRIGGER IF NOT EXISTS update_runs_trigger AFTER UPDATE ON runs
                             FOR EACH ROW
                               BEGIN 







|







945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
	 (if should-print (debug:print 3 *default-log-port* "INFO: db sync, total run time " runtime " ms"))
	 (for-each 
	  (lambda (dat)
	    (let ((tblname (car dat))
		  (count   (cdr dat)))
	      (set! tot-count (+ tot-count count))
	      (if (> count 0)  ;; concs are there to prevent "Error: (sprintf) illegal format-string character: #\1" which I don't understand.
		  (if should-print (debug:print 0 *default-log-port* "    "(conc tblname)" "(conc count)))))) ;; ~10a ~5a"
	  (sort (hash-table->alist numrecs)(lambda (a b)(> (cdr a)(cdr b))))))
       tot-count))))

(define db:trigger-list 
     (list (list "update_runs_trigger"  "CREATE TRIGGER IF NOT EXISTS update_runs_trigger AFTER UPDATE ON runs
                             FOR EACH ROW
                               BEGIN 

Modified rmt.scm from [b6b8a0ea46] to [d1560d8558].

113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
  ;;DOT   node [shape="box"];
  ;;DOT "rmt:send-receive" -> MUTEXLOCK;
  ;;DOT { edge [style=invis];"case 1" -> "case 2" -> "case 3" -> "case 4" -> "case 5" -> "case 6" -> "case 7" -> "case 8" -> "case 9" -> "case 10" -> "case 11"; }
  ;; do all the prep locked under the rmt-mutex
  (mutex-lock! *rmt-mutex*)

  ;; set up runremote record earlier than the loop below
  (if (not area-dat)                   ;; can remove this one. should never get here.         
      (begin
	(set! *runremote* (create-remote-record))
	(let* ((server-info (remote-server-info *runremote*))) 
	  (if server-info
	      (begin
		(remote-server-url-set! *runremote* (server:record->url server-info))
		(remote-server-id-set! *runremote* (server:record->id server-info)))))  
	(set! area-dat *runremote*))) ;; new runremote will come from this on next iteration
    
  ;; 1. check if server is started IFF cmd is a write OR if we are not on the homehost, store in runremote
  ;; 2. check the age of the connections. refresh the connection if it is older than timeout-20 seconds.
  ;; 3. do the query, if on homehost use local access
  ;;
  (let* ((start-time    (current-seconds)) ;; snapshot time so all use cases get same value
         (areapath      *toppath*);; TODO - resolve from dbstruct to be compatible with multiple areas







|







|







113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
  ;;DOT   node [shape="box"];
  ;;DOT "rmt:send-receive" -> MUTEXLOCK;
  ;;DOT { edge [style=invis];"case 1" -> "case 2" -> "case 3" -> "case 4" -> "case 5" -> "case 6" -> "case 7" -> "case 8" -> "case 9" -> "case 10" -> "case 11"; }
  ;; do all the prep locked under the rmt-mutex
  (mutex-lock! *rmt-mutex*)

  ;; set up runremote record earlier than the loop below
  (if (not *runremote*)                   ;; can remove this one. should never get here.         
      (begin
	(set! *runremote* (create-remote-record))
	(let* ((server-info (remote-server-info *runremote*))) 
	  (if server-info
	      (begin
		(remote-server-url-set! *runremote* (server:record->url server-info))
		(remote-server-id-set! *runremote* (server:record->id server-info)))))  
	#;(set! area-dat *runremote*))) ;; new runremote will come from this on next iteration
    
  ;; 1. check if server is started IFF cmd is a write OR if we are not on the homehost, store in runremote
  ;; 2. check the age of the connections. refresh the connection if it is older than timeout-20 seconds.
  ;; 3. do the query, if on homehost use local access
  ;;
  (let* ((start-time    (current-seconds)) ;; snapshot time so all use cases get same value
         (areapath      *toppath*);; TODO - resolve from dbstruct to be compatible with multiple areas