Overview
Comment: | Fix for servinffile |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.80 |
Files: | files | file ages | folders |
SHA1: |
f5407459776381688dcd02ca9ac9e26d |
User & Date: | pjhatwal on 2023-04-13 10:51:49 |
Other Links: | branch diff | manifest | tags |
Context
2023-04-13
| ||
13:12 | removed debug print check-in: 959e918725 user: pjhatwal tags: v1.80 | |
10:51 | Fix for servinffile check-in: f540745977 user: pjhatwal tags: v1.80 | |
07:01 | Turn back on update on db touched. check-in: 5cad598e0e user: matt tags: v1.80 | |
Changes
Modified tcp-transportmod.scm from [4c27f44d34] to [ab4fa574fe].
︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 | (defstruct tt-conn host port host-port dbfname server-id server-start pid ) ;; Used for BOTH clients and servers (defstruct tt ;; client related (conns (make-hash-table)) ;; dbfname -> conn | > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | (defstruct tt-conn host port host-port dbfname server-id server-start servinf-file pid ) ;; Used for BOTH clients and servers (defstruct tt ;; client related (conns (make-hash-table)) ;; dbfname -> conn |
︙ | ︙ | |||
137 138 139 140 141 142 143 | (server-start-proc (lambda () (tt:server-process-run (tt-areapath ttdat) testsuite ;; (dbfile:testsuite-name) (common:find-local-megatest) run-id)))) (if conn | > > | > > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | (server-start-proc (lambda () (tt:server-process-run (tt-areapath ttdat) testsuite ;; (dbfile:testsuite-name) (common:find-local-megatest) run-id)))) (if conn (begin ; (debug:print-info 0 *default-log-port* "already connected to the server") conn) ;; we are already connected to the server (let* ((sdat (tt:get-current-server-info ttdat dbfname))) (match sdat ((host port start-time server-id pid dbfname2 servinffile) (assert (equal? dbfname dbfname2) "FATAL: read server info from wrong file.") ;(debug:print-info 0 *default-log-port* "in match servinffile:" servinffile) (let* ((host-port (conc host":"port)) (conn (make-tt-conn host: host port: port 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* ((ping-res (tt:ping host port server-id))) ; (debug:print-info 0 *default-log-port* "ping-res:" ping-res) (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)) |
︙ | ︙ | |||
214 215 216 217 218 219 220 221 222 223 224 225 226 227 | (define (tt:handler ttdat cmd run-id params attemptnum area-dat areapath readonly-mode dbfname testsuite mtexe) ;; NOTE: areapath is passed in and in tt struct. We'll use passed in value for now. (let* ((conn (tt:client-connect-to-server ttdat dbfname run-id testsuite))) ;; (hash-table-ref/default (tt-conns ttdat) dbfname #f))) (if conn ;; have connection, call the server (let* ((res (tt:send-receive ttdat conn cmd run-id params))) ;; res is (status errmsg result meta) (match res ((status errmsg result meta) (if (list? meta) (let* ((delay-wait (alist-ref 'delay-wait meta))) (if (and (number? delay-wait) (> delay-wait 0)) (begin | > | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | (define (tt:handler ttdat cmd run-id params attemptnum area-dat areapath readonly-mode dbfname testsuite mtexe) ;; NOTE: areapath is passed in and in tt struct. We'll use passed in value for now. (let* ((conn (tt:client-connect-to-server ttdat dbfname run-id testsuite))) ;; (hash-table-ref/default (tt-conns ttdat) dbfname #f))) (if conn ;; have connection, call the server (let* ((res (tt:send-receive ttdat conn cmd run-id params))) ;; res is (status errmsg result meta) (debug:print 0 *default-log-port* "conn:" conn " res: " res) (match res ((status errmsg result meta) (if (list? meta) (let* ((delay-wait (alist-ref 'delay-wait meta))) (if (and (number? delay-wait) (> delay-wait 0)) (begin |
︙ | ︙ | |||
240 241 242 243 244 245 246 | result))) (else ;; did not receive properly formated result (if (not res) ;; tt:handler is telling us that communication failed (let* ((host (tt-conn-host conn)) (port (tt-conn-port conn)) ;; (dbfname (tt-conn-port conn)) ;; 192.168.0.127:4242-726924:4.db (pid (tt-conn-pid conn)) | > | | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | result))) (else ;; did not receive properly formated result (if (not res) ;; tt:handler is telling us that communication failed (let* ((host (tt-conn-host conn)) (port (tt-conn-port conn)) ;; (dbfname (tt-conn-port conn)) ;; 192.168.0.127:4242-726924:4.db (pid (tt-conn-pid conn)) (servinf (tt-conn-servinf-file conn))) ;;(servinf (tt-servinf-file ttdat))) ;; (conc areapath"/.servinfo/"host":"port"-"pid":"dbfname))) ;; TODO, use (server:get-servinfo-dir areapath) (hash-table-set! (tt-conns ttdat) dbfname #f) (if (and servinf (file-exists? servinf)) (begin (if (< attemptnum 3) (begin (thread-sleep! 0.25) (tt:handler ttdat cmd run-id params (+ attemptnum 1) area-dat areapath readonly-mode dbfname testsuite mtexe)) |
︙ | ︙ |