From c80fa92b3eb2ddd298d9e52bfad8cdbf5b69f230 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 7 Aug 2012 15:50:58 +0000 Subject: NO-JIRA: HA only expect READY backups in recovery. Don't wait for un-ready backups to become ready in recover, they weren't ready before the failure so don't wait for them to become ready after a failure. Waiting for READY backups gives us equivalent safety to before the failure. Minor test & log improvements. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1370325 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/tests/ha_tests.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'qpid/cpp/src/tests') diff --git a/qpid/cpp/src/tests/ha_tests.py b/qpid/cpp/src/tests/ha_tests.py index d25281eed5..246b0ed423 100755 --- a/qpid/cpp/src/tests/ha_tests.py +++ b/qpid/cpp/src/tests/ha_tests.py @@ -111,9 +111,11 @@ class HaBroker(Broker): def wait_status(self, status): def try_get_status(): # Ignore ConnectionError, the broker may not be up yet. - try: return self.ha_status() == status; + try: + self._status = self.ha_status() + return self._status == status; except ConnectionError: return False - assert retry(try_get_status, timeout=20), "%s status != %r"%(self, status) + assert retry(try_get_status, timeout=20), "%s %r != %r"%(self, self._status, status) # FIXME aconway 2012-05-01: do direct python call to qpid-config code. def qpid_config(self, args): @@ -963,7 +965,7 @@ class RecoveryTests(BrokerTest): """ cluster = HaCluster(self, 3, args=["--ha-backup-timeout=0.5"]); cluster[0].wait_status("active") # Primary ready - for b in cluster[1:4]: b.wait_status("ready") # Backups ready + for b in cluster[1:3]: b.wait_status("ready") # Backups ready for i in [0,1]: cluster.kill(i, False) cluster[2].promote() # New primary, backups will be 1 and 2 cluster[2].wait_status("recovering") -- cgit v1.2.1