Megatest

Check-in [844ff4c128]
Login
Overview
Comment:Tweak heuristics on attemptnum sleeps
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65
Files: files | file ages | folders
SHA1: 844ff4c128bf32c32a02735411dbf058e5a1ed6b
User & Date: mrwellan on 2020-01-28 14:59:12
Other Links: branch diff | manifest | tags
Context
2020-01-28
20:52
Trim out the module for rmt. Save that for v1.70 check-in: 2d41b2e87d user: matt tags: v1.65
14:59
Tweak heuristics on attemptnum sleeps check-in: 844ff4c128 user: mrwellan tags: v1.65
13:57
Taper the sleeps depending on how many times through the send-receive procedure. check-in: 224048bd19 user: mrwellan tags: v1.65
Changes

Modified rmt.scm from [46ee8b9727] to [2137213ab7].

97
98
99
100
101
102
103
104



105
106
107
108
109
110
111
112
113
114
115
116
117
    ;; DOT SET_HOMEHOST; // leaving off - doesn't really add to the clarity
    ;; 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)))




    (cond
     ((> attemptnum 1) (thread-sleep! 0.1))
     ((> attemptnum 5) (thread-sleep! 0.5))
     ((> attemptnum 10)
      (debug:print 1 "INFO: attemptnum in rmt:send-receive is " attemptnum)
      (thread-sleep! (/ attemptnum 5))))
    
    ;;(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)







|
>
>
>

|
|
|
<
<







97
98
99
100
101
102
103
104
105
106
107
108
109
110
111


112
113
114
115
116
117
118
    ;; DOT SET_HOMEHOST; // leaving off - doesn't really add to the clarity
    ;; 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)