Megatest

Check-in [3f5da1ddca]
Login
Overview
Comment:Added or to line 2464 in runs-inc.scm to keep going if no runname. This bypassess the real issue where runname is being lost. Also bypassed all server/network code.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.70-refactor01 | v1.70-defunct-try
Files: files | file ages | folders
SHA1: 3f5da1ddca542cfb3d2e8d694e336a5b1760f633
User & Date: matt on 2019-12-12 20:58:06
Other Links: branch diff | manifest | tags
Context
2019-12-15
22:47
Pulled in refactoring done on v1.70 branch check-in: 4ace542034 user: matt tags: v1.70-refactor01, v1.70-defunct-try
2019-12-12
20:58
Added or to line 2464 in runs-inc.scm to keep going if no runname. This bypassess the real issue where runname is being lost. Also bypassed all server/network code. check-in: 3f5da1ddca user: matt tags: v1.70-refactor01, v1.70-defunct-try
2019-12-11
22:14
shuffling stuff around. Currently fails to run: (rmt:get-runs-by-patt '(contour_name release iteration testsuite_mode) #f all/v1.70/1.7001/dev 0 500 #f 0 asc) but does run (db:get-runs-by-patt *db* '(contour_name release iteration testsuite_mode) % all/v1.70/1.7001/dev 0 500 #f 0 asc) check-in: ba4a9f34c8 user: matt tags: v1.70-refactor01, v1.70-defunct-try
Changes

Modified api-inc.scm from [d2c2cccd89] to [845cddd876].

130
131
132
133
134
135
136
137
138
139
140
141
142
143







144
145
146
147
148
149
150
130
131
132
133
134
135
136







137
138
139
140
141
142
143
144
145
146
147
148
149
150







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








;; These are called by the server on recipt of /api calls
;;    - keep it simple, only return the actual result of the call, i.e. no meta info here
;;
;;    - returns #( flag result )
;;
(define (api:execute-requests dbstruct dat)
  (handle-exceptions
   exn
   (let ((call-chain (get-call-chain)))
     (debug:print 0 *default-log-port* "WARNING: api:execute-requests received an exception from peer, dat=" dat)
     (print-call-chain (current-error-port))
     (debug:print 0 *default-log-port* " message: "  ((condition-property-accessor 'exn 'message) exn))       
     (vector #f (vector exn call-chain dat))) ;; return some stuff for debug if an exception happens
  ;; (handle-exceptions
  ;;  exn
  ;;  (let ((call-chain (get-call-chain)))
  ;;    (debug:print 0 *default-log-port* "WARNING: api:execute-requests received an exception from peer, dat=" dat)
  ;;    (print-call-chain (current-error-port))
  ;;    (debug:print 0 *default-log-port* " message: "  ((condition-property-accessor 'exn 'message) exn))       
  ;;    (vector #f (vector exn call-chain dat))) ;; return some stuff for debug if an exception happens
   (cond
    ((not (vector? dat))                    ;; it is an error to not receive a vector
     (vector #f (vector #f "remote must be called with a vector")))
    ((> *api-process-request-count* 20) ;; 20)
     (debug:print 0 *default-log-port* "WARNING: api:execute-requests received an overloaded message.")
     (set! *server-overloaded* #t)
     (vector #f (vector #f 'overloaded))) ;; the inner vector is what gets returned. nope, don't know why. please refactor!
351
352
353
354
355
356
357
358

359
360
361
362
363
364
365
351
352
353
354
355
356
357

358
359
360
361
362
363
364
365







-
+







                                   payload: `((params . ,params)
                                              (ok-res . #t)))
	     (vector #f res))
           (begin
             #;(common:telemetry-log (conc "api-out:"(->string cmd))
                                   payload: `((params . ,params)
                                              (ok-res . #f)))
             (vector #t res))))))))
             (vector #t res))))))) ;; )

;; http-server  send-response
;;                 api:process-request
;;                    db:*
;;
;; NB// Runs on the server as part of the server loop
;;

Modified db-inc.scm from [331eedb743] to [d7748f2cf8].

2457
2458
2459
2460
2461
2462
2463
2464

2465
2466
2467
2468
2469
2470
2471
2457
2458
2459
2460
2461
2462
2463

2464
2465
2466
2467
2468
2469
2470
2471







-
+







;;  to extract info from the structure returned
;;
(define (db:get-runs-by-patt dbstruct keys runnamepatt targpatt offset limit fields last-update  sort-order ) ;; test-name)
  (let* ((tmp      (runs:get-std-run-fields keys (or fields '("id" "runname" "state" "status" "owner" "event_time"))))
	 (keystr   (car tmp))
	 (header   (cadr tmp))
	 (key-patt "")
	 (runwildtype (if (substring-index "%" runnamepatt) "like" "glob"))
	 (runwildtype (if (substring-index "%" (or runnamepatt "%")) "like" "glob"))
	 (qry-str  #f)
	 (keyvals  (if targpatt (keys:target->keyval keys targpatt) '())))
    (for-each (lambda (keyval)
		(let* ((key    (car keyval))
		       (patt   (cadr keyval))
		       (fulkey (conc ":" key))
		       (wildtype (if (substring-index "%" patt) "like" "glob")))

Modified rmt-inc.scm from [15a54ab90a] to [507254531f].

69
70
71
72
73
74
75




76
77
78
79
80
81
82
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86







+
+
+
+







	      (if (server:check-if-running areapath)
		  (client:setup areapath)
		  #f))))

(define *send-receive-mutex* (make-mutex)) ;; should have separate mutex per run-id

(define (rmt:send-receive cmd rid params #!key (attemptnum 1)(area-dat #f)) ;; start attemptnum at 1 so the modulo below works as expected
  (rmt:open-qry-close-locally cmd 0 params))
  

#;(define (rmt:send-receive cmd rid params #!key (attemptnum 1)(area-dat #f)) ;; start attemptnum at 1 so the modulo below works as expected

  #;(common:telemetry-log (conc "rmt:"(->string cmd))
                        payload: `((rid . ,rid)
                                   (params . ,params)))
                          
  ;; do all the prep locked under the rmt-mutex
  (mutex-lock! *rmt-mutex*)