Megatest

Diff
Login

Differences From Artifact [95a111a332]:

To Artifact [ac1e540dd9]:


76
77
78
79
80
81
82
83
84
85
86
87





88
89
90
91
92
93
94
95
96
97
98
99
100
101













102
103
104
105
106
107
108
76
77
78
79
80
81
82





83
84
85
86
87
88













89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108







-
-
-
-
-
+
+
+
+
+

-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+







		  (port  (caddr server-dat))
                  (server-id (caddr (cddr server-dat))))
	      (debug:print-info 4 *default-log-port* "client:setup server-dat=" server-dat ", remaining-tries=" remaining-tries)
	      (if (and (not area-dat)
		       (not *runremote*))
                  (begin       
		    (set! *runremote* (make-remote))
		  (let* ((start-res (http-transport:client-connect host port))
			 (ping-res  (rmt:login-no-auto-client-setup start-res)))
                        (begin
                          (remote-server-url-set! *runremote* (server:record->url server-info))
                          (remote-server-id-set! *runremote* (server:record->id server-info)))))))
		    (let* ((start-res (http-transport:client-connect host port))
			   (ping-res  (rmt:login-no-auto-client-setup start-res)))
                      (begin
                        (remote-server-url-set! *runremote* (server:record->url server-info))
                        (remote-server-id-set! *runremote* (server:record->id server-info))))))
	      (if (and host port server-id)
		    (if (and start-res
			     ping-res)
			(let ((runremote (or area-dat *runremote*))) ;; it might have been generated only a few statements ago
			  (remote-conndat-set! runremote start-res) ;; (hash-table-set! runremote run-id start-res)
			  (debug:print-info 2 *default-log-port* "connected to " (http-transport:server-dat-make-url start-res))
			  start-res)
			(begin    ;; login failed but have a server record, clean out the record and try again
			  (debug:print-info 0 *default-log-port* "client:setup, login unsuccessful, will attempt to start server ... start-res=" start-res ", server-dat=" server-dat) ;; had runid.  Fixes part of Randy;s ticket 1405717332
			  (http-transport:close-connections)
			  (remote-conndat-set! runremote #f)  ;; (hash-table-delete! runremote run-id)
			  (thread-sleep! 1)
			  (client:setup-http areapath remaining-tries: (- remaining-tries 1))
			  )))
		  (if (and start-res
			   ping-res)
		      (let ((runremote (or area-dat *runremote*))) ;; it might have been generated only a few statements ago
			(remote-conndat-set! runremote start-res) ;; (hash-table-set! runremote run-id start-res)
			(debug:print-info 2 *default-log-port* "connected to " (http-transport:server-dat-make-url start-res))
			start-res)
		      (begin    ;; login failed but have a server record, clean out the record and try again
			(debug:print-info 0 *default-log-port* "client:setup, login unsuccessful, will attempt to start server ... start-res=" start-res ", server-dat=" server-dat) ;; had runid.  Fixes part of Randy;s ticket 1405717332
			(http-transport:close-connections)
			(remote-conndat-set! runremote #f)  ;; (hash-table-delete! runremote run-id)
			(thread-sleep! 1)
			(client:setup-http areapath remaining-tries: (- remaining-tries 1))
			))
		  (begin    ;; no server registered
		    ;; (server:kind-run areapath)
		    (server:start-and-wait areapath)
		    (debug:print-info 0 *default-log-port* "client:setup, no server registered, remaining-tries=" remaining-tries)
		    (thread-sleep! 1) ;; (+ 5 (random (- 20 remaining-tries))))  ;; give server a little time to start up, randomize a little to avoid start storms.
		    (client:setup-http areapath remaining-tries: (- remaining-tries 1)))))))))