Changeset: 972ad9966710 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=972ad9966710
Modified Files:
testing/Mtest.py.in
Branch: Jun2016
Log Message:
If too many TIME_WAIT sockets is the problem, check for that problem.
If a server fails to start for another reason, we don't want to incur
a 2 minute wait.
diffs (57 lines):
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2804,14 +2804,17 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR
CollectIt(pSrvr.stdout, SrvrOut)
pSrvr.wait()
pSrvrTimer.cancel()
- if returnCode(pSrvr) == 'error':
- time.sleep(120)
- pSrvr, pSrvrTimer = LaunchIt(Srvr,
'\nio.printf("\\nReady.\\n");\n', SrvrOut, SrvrErr, TIMEOUT)
- ln="dummy"
- while 0 < len(ln) and not ln.startswith('Ready.'):
- ln=pSrvr.stdout.readline()
- SrvrOut.write(ln)
- SrvrOut.flush()
+ if returnCode(pSrvr) == 'error' and sys.platform == 'linux2':
+ x = process.Popen(['netstat', '-an'], stdout =
process.PIPE, stderr = process.PIPE, universal_newlines = True)
+ out, err = x.communicate()
+ if out.count('TIME_WAIT') > 100:
+ time.sleep(120)
+ pSrvr, pSrvrTimer = LaunchIt(Srvr,
'\nio.printf("\\nReady.\\n");\n', SrvrOut, SrvrErr, TIMEOUT)
+ ln="dummy"
+ while 0 < len(ln) and not ln.startswith('Ready.'):
+ ln=pSrvr.stdout.readline()
+ SrvrOut.write(ln)
+ SrvrOut.flush()
if not ln.startswith('Ready.'):
ServerReady = False
@@ -2823,15 +2826,18 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR
CollectIt(pSrvr.stdout, SrvrOut)
pSrvr.wait()
pSrvrTimer.cancel()
- if returnCode(pSrvr) == 'error':
- time.sleep(120)
- ServerReady = True
- pSrvr, pSrvrTimer = LaunchIt(Srvr,
'\nio.printf("\\nReady.\\n");\n', SrvrOut, SrvrErr, TIMEOUT)
- ln="dummy"
- while 0 < len(ln) and not ln.startswith('Ready.'):
- ln=pSrvr.stdout.readline()
- SrvrOut.write(ln)
- SrvrOut.flush()
+ if returnCode(pSrvr) == 'error' and sys.platform ==
'linux2':
+ x = process.Popen(['netstat', '-an'], stdout =
process.PIPE, stderr = process.PIPE, universal_newlines = True)
+ out, err = x.communicate()
+ if out.count('TIME_WAIT') > 100:
+ time.sleep(120)
+ ServerReady = True
+ pSrvr, pSrvrTimer = LaunchIt(Srvr,
'\nio.printf("\\nReady.\\n");\n', SrvrOut, SrvrErr, TIMEOUT)
+ ln="dummy"
+ while 0 < len(ln) and not ln.startswith('Ready.'):
+ ln=pSrvr.stdout.readline()
+ SrvrOut.write(ln)
+ SrvrOut.flush()
if not ln.startswith('Ready.'):
ServerReady = False
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list