Megatest

Check-in [d805adeb13]
Login
Overview
Comment:Switched to OFF for sync and using exception handling on db access
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | test-specific-db | v.14603
Files: files | file ages | folders
SHA1: d805adeb1370a1c4a1551a385f9971dab9b0cb47
User & Date: mrwellan on 2012-09-27 23:30:33
Other Links: branch diff | manifest | tags
Context
2012-09-28
12:01
Fixed the MT_RUN_AREA_HOME, previous fix did not set the var before parsing .config files. check-in: 67e15ae474 user: mrwellan tags: test-specific-db, v1.4604
2012-09-27
23:30
Switched to OFF for sync and using exception handling on db access check-in: d805adeb13 user: mrwellan tags: test-specific-db, v.14603
23:11
Converted calls to rdb: back to db: check-in: 7993b83cc3 user: matt tags: test-specific-db, v1.4602
Changes

Modified db.scm from [8860c23826] to [26ed88882a].

64
65
66
67
68
69
70
71

72
73
74
75
76
77
78

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95



















96
97
98
99
100
101
102
64
65
66
67
68
69
70

71
72
73
74
75
76
77
78
79

















80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105







-
+







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







    (debug:print 4 "INFO: dbpath=" dbpath)
    (sqlite3:set-busy-handler! db handler)
    (if (not dbexists)
	(db:initialize db))
    (db:set-sync db)
    db))

(define (open-run-close  proc idb . params)
(define (open-run-close-no-exception-handling  proc idb . params)
 (let* ((db   (if idb idb (open-db)))
	(res #f))
   (db:set-sync db)
   (set! res (apply proc db params))
   (if (not idb)(sqlite3:finalize! db))
   res))

(define (open-run-close-exception-handling proc idb . params)
;;   (let ((runner (lambda ()
;; 		  (let* ((db   (if idb idb (open-db)))
;; 			 (res #f))
;; 		    (db:set-sync db)
;; 		    (set! res (apply proc db params))
;; 		    (if (not idb)(sqlite3:finalize! db))
;; 		    res))))
;;     (handle-exceptions
;;      exn
;;      (begin
;;        (debug:print 0 "EXCEPTION: database probably overloaded?")
;;        (debug:print 0 "  " exn)
;;        (print-call-chain)
;;        (thread-sleep! (random 120))
;;        (debug:print 0 "trying db call one more time....")
;;        (runner))
;;      (runner))))
 (let ((runner (lambda ()
    	  (let* ((db   (if idb idb (open-db)))
    		 (res #f))
    	    (db:set-sync db)
    	    (set! res (apply proc db params))
    	    (if (not idb)(sqlite3:finalize! db))
    	    res))))
   (handle-exceptions
    exn
    (begin
      (debug:print 0 "EXCEPTION: database probably overloaded?")
      (debug:print 0 "  " exn)
      (print-call-chain)
      (thread-sleep! (random 120))
      (debug:print 0 "trying db call one more time....")
      (runner))
    (runner))))

(define open-run-close open-run-close-exception-handling)

(define *global-delta* 0)
(define *last-global-delta-printed* 0)

(define (open-run-close-measure  proc idb . params)
  (let* ((start-ms (current-milliseconds))
	 (db       (if idb idb (open-db)))

Modified tests/fullrun/megatest.config from [73cf2aead3] to [c919ec1fdb].

8
9
10
11
12
13
14
15

16
17
18
19
20
21
22
8
9
10
11
12
13
14

15
16
17
18
19
20
21
22







-
+







[refareas]
area1 /tmp/oldarea/megatest

[include config/mt_include_1.config]

[setup]
# FULL or 2, NORMAL or 1, OFF or 0
synchronous NORMAL
synchronous OFF
# Throttle roughly scales the db access milliseconds to seconds delay
throttle 0.2
# Max retries allows megatest to re-check that a tests status has changed
# as tests can have transient FAIL status occasionally
maxretries 500

[validvalues]