Megatest

Check-in [4bac47df23]
Login
Overview
Comment:Dropped threshold for parallel api requests to 25 but it isn't clear it helped. WARNING: earlier fix for iterated (ezsteps based) tests broke state/status handling!!
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.63-stackdumpfix
Files: files | file ages | folders
SHA1: 4bac47df2386ba0568b0d6fbc22aefe4a6c639f2
User & Date: matt on 2017-01-09 00:05:27
Original Comment: Dropped threshold for parallel api requests to 25 but it isn't clear it helped.
Other Links: branch diff | manifest | tags
Context
2017-01-09
10:58
Missed a lambda in one of the db:with-db changes check-in: 8af566c47d user: mrwellan tags: v1.63-stackdumpfix
00:05
Dropped threshold for parallel api requests to 25 but it isn't clear it helped. WARNING: earlier fix for iterated (ezsteps based) tests broke state/status handling!! check-in: 4bac47df23 user: matt tags: v1.63-stackdumpfix
2017-01-08
23:21
Fixed REMOTE instead of RUNNING status check-in: 647ef89272 user: matt tags: v1.63-stackdumpfix
Changes

Modified db.scm from [96f62717c4] to [aec6f9bf31].

130
131
132
133
134
135
136
137

138
139
140
141

142
143
144
145
146
147
148
130
131
132
133
134
135
136

137
138
139
140

141
142
143
144
145
146
147
148







-
+



-
+







  (let* ((dbdat (if (dbr:dbstruct? dbstruct)
		    (db:get-db dbstruct run-id)
		    (begin
		      (print-call-chain)
		      (print "db:with-db called with dbdat instead of dbstruct, FIXME!!")
		      dbstruct))) ;; cheat, allow for passing in a dbdat
	 (db    (db:dbdat-get-db dbdat))
	 (use-mutex (> *api-process-request-count* 50)))
	 (use-mutex (> *api-process-request-count* 25)))
    (if (and use-mutex
	     (common:low-noise-print 120 "over-50-parallel-api-requests"))
	(debug:print-info 0 *default-log-port* *api-process-request-count* " parallel api requests being processed in process " (current-process-id) ", throttling access"))
    (if (common:low-noise-print 120 "parallel-api-requests")
    (if (common:low-noise-print 120 (conc "parallel-api-requests" *max-api-process-requests*))
	(debug:print-info 0 *default-log-port* "Parallel api request count: " *api-process-request-count* " max parallel requests: " *max-api-process-requests*))
    (handle-exceptions
     exn
     (begin
       (print-call-chain (current-error-port))
       (debug:print-error 0 *default-log-port* "sqlite3 issue in db:with-db, dbstruct=" dbstruct ", run-id=" run-id ", proc=" proc ", params=" params " error: " ((condition-property-accessor 'exn 'message) exn))
       )
2292
2293
2294
2295
2296
2297
2298
2299


2300
2301
2302
2303
2304
2305
2306
2292
2293
2294
2295
2296
2297
2298

2299
2300
2301
2302
2303
2304
2305
2306
2307







-
+
+







    (let ((prev-run-ids '()))
      (db:with-db dbstruct #f #f ;; #f means work with the zeroth db - i.e. the runs db
       (lambda (db)
	 (apply sqlite3:for-each-row
		(lambda (id)
		  (set! prev-run-ids (cons id prev-run-ids)))
		db
		(conc "SELECT id FROM runs WHERE " qrystr " AND state != 'deleted' AND id != ?;") (append kvalues (list run-id)))))
		(conc "SELECT id FROM runs WHERE " qrystr " AND state != 'deleted' AND id != ?;")
		(append kvalues (list run-id)))))
      prev-run-ids)))

;;======================================================================
;;  T E S T S
;;======================================================================

;; states and statuses are lists, turn them into ("PASS","FAIL"...) and use NOT IN