diff options
| author | Alan Conway <aconway@apache.org> | 2011-03-30 19:30:16 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2011-03-30 19:30:16 +0000 |
| commit | 55be3ef9d6b0eaadbd59bc269454792f26848560 (patch) | |
| tree | 8e4b1279d01acbfe87ab1c589f31e6f58a54f112 /cpp/src/tests | |
| parent | 7cfc47a836ac1f92a80f37acedd048ec3dd19b4e (diff) | |
| download | qpid-python-55be3ef9d6b0eaadbd59bc269454792f26848560.tar.gz | |
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
Diffstat (limited to 'cpp/src/tests')
| -rw-r--r-- | cpp/src/tests/brokertest.py | 2 |
1 files changed, 1 insertions, 1 deletions
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) |
