Index: common.scm ================================================================== --- common.scm +++ common.scm @@ -155,11 +155,11 @@ (hh-dat (common:get-homehost)) ;; homehost record ( addr . hhflag ) (server-url (if *toppath* (server:check-if-running *toppath*))) ;; (server:check-if-running *toppath*) #f)) (last-server-check 0) ;; last time we checked to see if the server was alive (conndat #f) (transport *transport-type*) - (server-timeout (or (server:get-timeout) 100)) ;; default to 100 seconds + (server-timeout (server:get-timeout)) ;; default from server:get-timeout (force-server #f) (ro-mode #f) (ro-mode-checked #f)) ;; flag that indicates we have checked for ro-mode ;; launching and hosts Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -478,15 +478,13 @@ (begin (remote-conndat-set! *runremote* start-res) ;; (remote-server-url-set! *runremote* url) ;; (if (server:ping url) (debug:print-info 0 *default-log-port* "connected to " host ":" port " using CMDINFO data.")) - ;; (begin - ;; (debug:print-info 0 *default-log-port* "have CMDINFO data but failed to connect to " url) - ;; (remote-conndat-set! *runremote* #f) - ;; (remote-server-url-set! *runremote* #f)))) - (debug:print-info 0 *default-log-port* "received " host ":" port " for url but could not connect.") + (begin + (debug:print-info 0 *default-log-port* "have CMDINFO data but failed to connect to " host ":" port) + (remote-conndat-set! *runremote* #f)) )) (begin (debug:print-info 0 *default-log-port* (if host-port (conc "received invalid host-port information " host-port) "no host-port information received")) Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -97,13 +97,13 @@ ) ;; reset the connection if it has been unused too long ((and runremote (remote-conndat runremote) - (let ((expire-time (+ (- start-time (remote-server-timeout runremote))))) ;; NOTE: REMOVED the 30 second noise. If adding it back be sure to offset!! add 30 seconds of noise so that not all running tests expire at the same time causing a storm of server starts + (let ((expire-time (+ (- start-time (remote-server-timeout runremote))(random 10)))) ;; Subtract or add the random value? Seems like it should be substract but Neither fixes the "WARNING: failure in with-input-from-request to #.\n message: Server closed connection before sending response" (< (http-transport:server-dat-get-last-access (remote-conndat runremote)) expire-time))) - (debug:print-info 12 *default-log-port* "rmt:send-receive, case 8") + (debug:print-info 0 *default-log-port* "Connection to " (remote-server-url runremote) " expired due to no accesses, forcing new connection.") (remote-conndat-set! runremote #f) ;; invalidate the connection, thus forcing a new connection. (mutex-unlock! *rmt-mutex*) (rmt:send-receive cmd rid params attemptnum: attemptnum)) ;; ensure we have a record for our connection for given area ((not runremote) ;; can remove this one. should never get here.