Megatest

Check-in [5d2ee5c691]
Login
Overview
Comment:completed fix for nested calls as part of transaction. Seems to work great but I'm unable to get bigrun to push more than 132 parallel tests (over two hosts).
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.63-stackdumpfix
Files: files | file ages | folders
SHA1: 5d2ee5c6911a66d10008ec2b703d475a7674668e
User & Date: matt on 2017-01-09 23:38:23
Other Links: branch diff | manifest | tags
Context
2017-01-10
11:09
Bumped version to v1.6304 Closed-Leaf check-in: fa49f48d6b user: mrwellan tags: v1.63-stackdumpfix, v1.6304
00:45
merged in solid fixes for server stability problems check-in: ebafbfa4a1 user: bjbarcla tags: v1.63
2017-01-09
23:38
completed fix for nested calls as part of transaction. Seems to work great but I'm unable to get bigrun to push more than 132 parallel tests (over two hosts). check-in: 5d2ee5c691 user: matt tags: v1.63-stackdumpfix
21:16
Partial implementation of passing db in place of dbstruct to enable transactions check-in: a4a65fdc88 user: mrwellan tags: v1.63-stackdumpfix
Changes

Modified db.scm from [e93370db88] to [abd06b4b08].

133
134
135
136
137
138
139

140

141
142
143
144
145
146
147
;; r/w is a flag to indicate if the db is modified by this query #t = yes, #f = no
;;
(define (db:with-db dbstruct run-id r/w proc . params)
  (let* ((have-struct (dbr:dbstruct? dbstruct))
         (dbdat (if have-struct 
                    (db:get-db dbstruct)
                    #f))

	 (db    (db:dbdat-get-db dbdat))

	 (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 (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







>
|
>







133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
;; r/w is a flag to indicate if the db is modified by this query #t = yes, #f = no
;;
(define (db:with-db dbstruct run-id r/w proc . params)
  (let* ((have-struct (dbr:dbstruct? dbstruct))
         (dbdat (if have-struct 
                    (db:get-db dbstruct)
                    #f))
	 (db    (if have-struct
		    (db:dbdat-get-db dbdat)
		    dbstruct))
	 (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 (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