You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2012/07/13 20:33:32 UTC
svn commit: r1361323 - in /qpid/trunk/qpid/cpp/src: qpid/ha/Settings.h
tests/ha_tests.py
Author: aconway
Date: Fri Jul 13 18:33:32 2012
New Revision: 1361323
URL: http://svn.apache.org/viewvc?rev=1361323&view=rev
Log:
QPID-4136: HA sporadic failures in ha_tests
Caused by a test bug, default timeout was too short.
Fixed the test to set a high timeout and increased default timeout.
Modified:
qpid/trunk/qpid/cpp/src/qpid/ha/Settings.h
qpid/trunk/qpid/cpp/src/tests/ha_tests.py
Modified: qpid/trunk/qpid/cpp/src/qpid/ha/Settings.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/Settings.h?rev=1361323&r1=1361322&r2=1361323&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/Settings.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/Settings.h Fri Jul 13 18:33:32 2012
@@ -34,7 +34,7 @@ namespace ha {
class Settings
{
public:
- Settings() : cluster(false), replicateDefault(NONE), backupTimeout(2)
+ Settings() : cluster(false), replicateDefault(NONE), backupTimeout(5)
{}
bool cluster; // True if we are a cluster member.
Modified: qpid/trunk/qpid/cpp/src/tests/ha_tests.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/ha_tests.py?rev=1361323&r1=1361322&r2=1361323&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/ha_tests.py (original)
+++ qpid/trunk/qpid/cpp/src/tests/ha_tests.py Fri Jul 13 18:33:32 2012
@@ -857,7 +857,8 @@ class RecoveryTests(BrokerTest):
"""Verify that the broker holds queues without sufficient backup,
i.e. does not complete messages sent to those queues."""
- cluster = HaCluster(self, 4);
+ # We don't want backups to time out for this test, set long timeout.
+ cluster = HaCluster(self, 4, args=["--ha-backup-timeout=100000"]);
# Wait for the primary to be ready
cluster[0].wait_status("active")
# Create a queue before the failure.
@@ -877,6 +878,7 @@ class RecoveryTests(BrokerTest):
# Create a queue after the failure
s2 = cluster.connect(3).session().sender("q2;{create:always}")
+
# Verify that messages sent are not completed
for i in xrange(100,200): s1.send(str(i), sync=False); s2.send(str(i), sync=False)
assertSyncTimeout(s1)
@@ -886,6 +888,7 @@ class RecoveryTests(BrokerTest):
# Verify we can receive even if sending is on hold:
cluster[3].assert_browse("q1", [str(i) for i in range(100)+range(100,200)])
+
# Restart backups, verify queues are released only when both backups are up
cluster.restart(1)
assertSyncTimeout(s1)
@@ -895,6 +898,7 @@ class RecoveryTests(BrokerTest):
self.assertEqual(cluster[3].ha_status(), "recovering")
cluster.restart(2)
+ # Verify everything is up to date and active
def settled(sender): sender.sync(); return sender.unsettled() == 0;
assert retry(lambda: settled(s1)), "Unsetttled=%s"%(s1.unsettled())
assert retry(lambda: settled(s2)), "Unsetttled=%s"%(s2.unsettled())
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org