From 55be3ef9d6b0eaadbd59bc269454792f26848560 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 30 Mar 2011 19:30:16 +0000 Subject: QPID-3129: cluster_tests.LongTests.test_failover hangs Fix is a race condition in posix/Socket.cpp Socket::connect. When connecting to a port on the same host which no longer has a process associated with it the OS occasionally chooses the remote port (which is unoccupied) as the port to bind the local end of the socket, resulting in a "circular" connection. This seems like something the OS should prevent but I have confirmed that the sporadic hangs in cluster_tests.LongTests.test_failover on RHEL5 are caused by such a circular connection. The fix is to detect circular connections and raise an error. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1087052 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/tests/brokertest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpp/src/tests') diff --git a/cpp/src/tests/brokertest.py b/cpp/src/tests/brokertest.py index 1023f7152f..4abe4c2cbe 100644 --- a/cpp/src/tests/brokertest.py +++ b/cpp/src/tests/brokertest.py @@ -498,7 +498,7 @@ class BrokerTest(TestCase): r.close() self.assertEqual(expect_contents, actual_contents) -def join(thread, timeout=1): +def join(thread, timeout=10): thread.join(timeout) if thread.isAlive(): raise Exception("Timed out joining thread %s"%thread) -- cgit v1.2.1