Overview
Comment: | Added timed ping but not used yet for throttling. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.80 |
Files: | files | file ages | folders |
SHA1: |
99d5a8b3531f9298a731aae731883d7f |
User & Date: | matt on 2023-05-21 07:44:54 |
Other Links: | branch diff | manifest | tags |
Context
2023-05-21
| ||
20:44 | Check for sync in progress before even launching megatest -db2db check-in: 4579b102a3 user: matt tags: v1.80 | |
07:44 | Added timed ping but not used yet for throttling. check-in: 99d5a8b353 user: matt tags: v1.80 | |
07:20 | Use busy more aggressively and turn off loaded in tcp-transport. check-in: 78c69ec26e user: matt tags: v1.80 | |
Changes
Modified tcp-transportmod.scm from [07073f2ea3] to [e72475ef7d].
︙ | ︙ | |||
157 158 159 160 161 162 163 | host-port: host-port dbfname: dbfname servinf-file: servinffile server-id: server-id server-start: start-time pid: pid))) ;; verify we can talk to this server | | > > | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | host-port: host-port dbfname: dbfname servinf-file: servinffile server-id: server-id server-start: start-time pid: pid))) ;; verify we can talk to this server (let* ((result (tt:timed-ping host port server-id)) (ping-res (car result)) (ping (cdr result))) (debug:print-info 0 *default-log-port* "ping time:" ping) (case ping-res ((running) (hash-table-set! (tt-conns ttdat) dbfname conn) ;;; is this ok to save before validating that the connection is good? conn) ((starting) (thread-sleep! 0.5) (tt:client-connect-to-server ttdat dbfname run-id testsuite)) |
︙ | ︙ | |||
183 184 185 186 187 188 189 190 191 192 193 194 195 196 | (if (> (- (current-seconds) (tt-last-serv-start ttdat)) 5) ;; BUG - grow this number really do not want to swamp the machine with servers (begin (debug:print-info 0 *default-log-port* "No server found. Starting one for run-id "run-id" in dbfile "dbfname) (server-start-proc) (tt-last-serv-start-set! ttdat (current-seconds)))) (thread-sleep! 1) (tt:client-connect-to-server ttdat dbfname run-id testsuite))))))) (define (tt:ping host port server-id #!optional (tries-left 5)) (let* ((res (tt:send-receive-direct host port `(ping #f #f #f) ping-mode: #t)) ;; please send me your server-id (try-again (lambda () (if (> tries-left 0) (begin (thread-sleep! 1) | > > > > > > | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | (if (> (- (current-seconds) (tt-last-serv-start ttdat)) 5) ;; BUG - grow this number really do not want to swamp the machine with servers (begin (debug:print-info 0 *default-log-port* "No server found. Starting one for run-id "run-id" in dbfile "dbfname) (server-start-proc) (tt-last-serv-start-set! ttdat (current-seconds)))) (thread-sleep! 1) (tt:client-connect-to-server ttdat dbfname run-id testsuite))))))) (define (tt:timed-ping host port server-id) (let* ((start-time (current-milliseconds)) (result (tt:ping host port server-id))) (cons result (- (current-milliseconds) start-time)))) (define (tt:ping host port server-id #!optional (tries-left 5)) (let* ((res (tt:send-receive-direct host port `(ping #f #f #f) ping-mode: #t)) ;; please send me your server-id (try-again (lambda () (if (> tries-left 0) (begin (thread-sleep! 1) |
︙ | ︙ | |||
542 543 544 545 546 547 548 | dbfname" on "(tt-host ttdat)":"(tt-port ttdat))) res)) (else (debug:print-info 0 *default-log-port* "I'm not the lead server: "servers) (let* ((leadsrv (car servers))) (match leadsrv ((host port startseconds server-id pid dbfname servinfofile) | | > > | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 | dbfname" on "(tt-host ttdat)":"(tt-port ttdat))) res)) (else (debug:print-info 0 *default-log-port* "I'm not the lead server: "servers) (let* ((leadsrv (car servers))) (match leadsrv ((host port startseconds server-id pid dbfname servinfofile) (let* ((result (tt:timed-ping host port server-id)) (res (car result)) (ping (cdr result))) (debug:print-info 0 *default-log-port* "Ping to "host":"port", with server-id "server-id ", and file "servinfofile" returned "res) (if res #f ;; not the server, but all good, want to exit (if (and (file-exists? servinfofile) (> (- (current-seconds)(file-modification-time servinfofile)) 30)) (begin |
︙ | ︙ |