Changeset: 40287ed38dc5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=40287ed38dc5
Modified Files:
testing/Mtest.py.in
Branch: Oct2012
Log Message:
Attempt to deal with ranges of tests failing due to server not ready.
Sometimes a whole range of tests fail, especially during nightly
testing, due to a "Server not ready" condition. Analyzing one
instance of this showed that there were 2250 network connections that
were in a TIME_WAIT state (according to netstat). So now when we find
that the server isn't ready, we'll stop the server, wait two minutes
for the network connections to go away, and then try again.
diffs (27 lines):
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2640,7 +2640,22 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR
SrvrOut.write(ln)
SrvrOut.flush()
if ln[:6] != 'Ready.':
- ServerReady = False
+ # If not ready, it may be that there are far to many
+ # network connections in use, all in TIME_WAIT status.
+ # We'll just wait a while for that to clear and try
+ # again.
+ pSrvr.stdin.close()
+ CollectIt(pSrvr.stdout, SrvrOut)
+ pSrvr.wait()
+ time.sleep(120)
+ pSrvr, pSrvrTimer = LaunchIt(Srvr,
'\nio.printf("\\nReady.\\n");\n', SrvrOut, SrvrErr, TIMEOUT)
+ ln="dummy"
+ while 0 < len(ln) and ln[:6] != 'Ready.':
+ ln=pSrvr.stdout.readline()
+ SrvrOut.write(ln)
+ SrvrOut.flush()
+ if ln[:6] != 'Ready.':
+ ServerReady = False
if ServerReady:
port = int(env['MAPIPORT'])
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list