Megatest

Check-in [aef9335be9]
Login
Overview
Comment:Reduced some delays introduced to make running under extreme load work better as other changes seem to have improved that issue
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | development
Files: files | file ages | folders
SHA1: aef9335be9ebdec15913651591cb4db8807f63e3
User & Date: matt on 2013-04-16 21:46:12
Other Links: branch diff | manifest | tags
Context
2013-04-16
22:10
Removed the delays sprinkled throughout the run launching process check-in: 7fcf89d8c7 user: matt tags: development
21:46
Reduced some delays introduced to make running under extreme load work better as other changes seem to have improved that issue check-in: aef9335be9 user: matt tags: development
12:47
Merged in support-for-skip check-in: 7635c4e92c user: mrwellan tags: development, v1.5412
Changes

Modified db.scm from [b54e4e1378] to [1adaf7b548].

1426
1427
1428
1429
1430
1431
1432
1433

1434
1435
1436
1437
1438
1439
1440
1441


1442

1443
1444
1445
1446
1447
1448
1449
1426
1427
1428
1429
1430
1431
1432

1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443

1444
1445
1446
1447
1448
1449
1450
1451







-
+








+
+
-
+








    (debug:print-info 7 "Current write queue length is " queue-len)

    ;; poll for the write to complete, timeout after 10 seconds
    ;; periodic flushing of the queue is taken care of by 
    ;; db:flush-queue
    (let loop ()
      (thread-sleep! 0.1)
      (thread-sleep! 0.002)
      (mutex-lock! *completed-mutex*)
      (if (hash-table-ref/default *completed-writes* qry-sig #f)
	  (begin
	    (hash-table-delete! *completed-writes* qry-sig)
	    (set! got-it #t)))
      (mutex-unlock! *completed-mutex*)
      (if (and (not got-it)
	       (< (current-seconds) timeout))
	  (begin
	    (thread-sleep! 0.01)
	  (loop)))
	    (loop))))
    (set! *number-of-writes*   (+ *number-of-writes*   1))
    (set! *writes-total-delay* (+ *writes-total-delay* 1))
    got-it))
	  
(define (db:process-queue-item db item)
  (let* ((stmt-key       (cdb:packet-get-qtype item))
	 (qry-sig        (cdb:packet-get-query-sig item))

Modified server.scm from [44714046fc] to [2c2aefbe73].

72
73
74
75
76
77
78
79

80
81
82
83
84

85
86
87
88
89
90
91
72
73
74
75
76
77
78

79
80
81
82
83

84
85
86
87
88
89
90
91







-
+




-
+







  (if (setup-for-run)
      (let ((db (open-db)))
	(let loop ()
	  (let ((last-write-flush-time #f))
	    (mutex-lock! *incoming-mutex*)
	    (set! last-write-flush-time *server:last-write-flush*)
	    (mutex-unlock! *incoming-mutex*)
	    (if (> (- (current-milliseconds) last-write-flush-time) 400)
	    (if (> (- (current-milliseconds) last-write-flush-time) 10)
		(begin
		  (mutex-lock! *db:process-queue-mutex*)
		  (db:process-cached-writes db)
		  (mutex-unlock! *db:process-queue-mutex*)
		  (thread-sleep! 0.5))))
		  (thread-sleep! 0.01))))
	  (loop)))
      (begin
	(debug:print 0 "ERROR: failed to setup for Megatest in server:write-queue-handler")
	(exit 1))))
    
;;======================================================================
;; S E R V E R   U T I L I T I E S