summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-09-04 19:01:18 +0000
committerAlan Conway <aconway@apache.org>2013-09-04 19:01:18 +0000
commit6ac07bdfb6d1806080bdac9c5a881b9b6e07a06d (patch)
treec22ec749d1bbd239eb8ae77d577be1921f073861 /qpid/cpp/src
parentfe743a0889c2b9aede7e449de12fe554fbf194dd (diff)
downloadqpid-python-6ac07bdfb6d1806080bdac9c5a881b9b6e07a06d.tar.gz
NO-JIRA: HA minor fixes to test framework & comments.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1520108 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/ha/PrimaryTxObserver.cpp3
-rw-r--r--qpid/cpp/src/tests/brokertest.py2
-rwxr-xr-xqpid/cpp/src/tests/ha_test.py6
3 files changed, 7 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/ha/PrimaryTxObserver.cpp b/qpid/cpp/src/qpid/ha/PrimaryTxObserver.cpp
index df9fd7cdb1..6a916d3f84 100644
--- a/qpid/cpp/src/qpid/ha/PrimaryTxObserver.cpp
+++ b/qpid/cpp/src/qpid/ha/PrimaryTxObserver.cpp
@@ -141,10 +141,11 @@ void PrimaryTxObserver::deduplicate(sys::Mutex::ScopedLock&) {
bool PrimaryTxObserver::prepare() {
sys::Mutex::ScopedLock l(lock);
- // FIXME aconway 2013-07-23: WRONG blocking. Need async completion.
QPID_LOG(debug, logPrefix << "Prepare");
deduplicate(l);
txQueue->deliver(TxPrepareEvent().message());
+ // TODO aconway 2013-09-04: Blocks the current thread till backups respond.
+ // Need a non-blocking approach (e.g. async completion or borrowing a thread)
while (!unprepared.empty() && !failed) lock.wait();
return !failed;
}
diff --git a/qpid/cpp/src/tests/brokertest.py b/qpid/cpp/src/tests/brokertest.py
index a282f59b13..ba6c259a26 100644
--- a/qpid/cpp/src/tests/brokertest.py
+++ b/qpid/cpp/src/tests/brokertest.py
@@ -370,7 +370,7 @@ class Broker(Popen):
deadline = time.time()+timeout
while True:
try:
- c = self.connect(**kwargs)
+ c = self.connect(timeout=timeout, **kwargs)
try:
c.session()
return # All good
diff --git a/qpid/cpp/src/tests/ha_test.py b/qpid/cpp/src/tests/ha_test.py
index 4a7b538edd..5f21b8f8a4 100755
--- a/qpid/cpp/src/tests/ha_test.py
+++ b/qpid/cpp/src/tests/ha_test.py
@@ -271,8 +271,10 @@ acl allow all all
try: return self.connect()
except ConnectionError: return None
- def ready(self):
- return Broker.ready(self, client_properties={"qpid.ha-admin":1})
+ def ready(self, *args, **kwargs):
+ if not 'client_properties' in kwargs: kwargs['client_properties'] = {}
+ kwargs['client_properties']['qpid.ha-admin'] = True
+ return Broker.ready(self, *args, **kwargs)
def kill(self, final=True):
if final: self.ha_port.stop()