Megatest

Check-in [00f6f2a2c3]
Login
Overview
Comment:Moved delay in rmt:send-receive earlier
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65
Files: files | file ages | folders
SHA1: 00f6f2a2c39c22d21672f6c7d906c690d0df8df4
User & Date: matt on 2020-01-28 21:34:26
Other Links: branch diff | manifest | tags
Context
2020-01-29
10:24
missing field in print check-in: fca9c83d51 user: mrwellan tags: v1.65
2020-01-28
21:34
Moved delay in rmt:send-receive earlier check-in: 00f6f2a2c3 user: matt tags: v1.65
20:52
Trim out the module for rmt. Save that for v1.70 check-in: 2d41b2e87d user: matt tags: v1.65
Changes

Modified rmt.scm from [b56a1f90e5] to [ae92864096].

56
57
58
59
60
61
62
63

64
65
66








67
68
69
70
71
72
73
56
57
58
59
60
61
62

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81







-
+



+
+
+
+
+
+
+
+








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

;; RA => e.g. usage (rmt:send-receive 'get-var #f (list varname))
;;
(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))
  #;(common:telemetry-log (conc "rmt:"(->string cmd))
                        payload: `((rid . ,rid)
                                   (params . ,params)))
                          
  (if (> attemptnum 2)
      (debug:print 0 "INFO: attemptnum in rmt:send-receive is " attemptnum))
    
  (cond
   ((> attemptnum 2) (thread-sleep! 0.05))
   ((> attemptnum 10) (thread-sleep! 0.5))
   ((> attemptnum 20) (thread-sleep! 1)))
  
  
  ;;DOT digraph megatest_state_status {
  ;;DOT   ranksep=0;
  ;;DOT   // rankdir=LR;
  ;;DOT   node [shape="box"];
  ;;DOT "rmt:send-receive" -> MUTEXLOCK;
  ;;DOT { edge [style=invis];"case 1" -> "case 2" -> "case 3" -> "case 4" -> "case 5" -> "case 6" -> "case 7" -> "case 8" -> "case 9" -> "case 10" -> "case 11"; }
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
106
107
108
109
110
111
112








113
114
115
116
117
118
119







-
-
-
-
-
-
-
-







    ;; DOT MUTEXLOCK -> SET_HOMEHOST [label="no homehost?"];
    ;; DOT SET_HOMEHOST -> MUTEXLOCK;
    ;; ensure we have a homehost record
    (if (not (pair? (remote-hh-dat runremote)))  ;; not on homehost
	(thread-sleep! 0.1) ;; since we shouldn't get here, delay a little
	(remote-hh-dat-set! runremote (common:get-homehost)))
    
    (if (> attemptnum 2)
	(debug:print 1 "INFO: attemptnum in rmt:send-receive is " attemptnum))
    
    (cond
     ((> attemptnum 2) (thread-sleep! 0.05))
     ((> attemptnum 10) (thread-sleep! 0.5))
     ((> attemptnum 20) (thread-sleep! 1)))
    
    ;;(print "BB> readonly-mode is "readonly-mode" dbfile is "dbfile)
    (cond
     ;;DOT EXIT;
     ;;DOT MUTEXLOCK -> EXIT [label="> 15 attempts"]; {rank=same "case 1" "EXIT" }
     ;; give up if more than 15 attempts
     ((> attemptnum 15)
      (debug:print 0 *default-log-port* "ERROR: 15 tries to start/connect to server. Giving up.")