summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/ha_tests.py
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2014-04-23 21:11:08 +0000
committerAlan Conway <aconway@apache.org>2014-04-23 21:11:08 +0000
commit8e0913a48177df57c4e0312bcfb7c5ee8dcdb327 (patch)
tree45af98b3fc04506dc8c84a4d1356078cb4782cdf /qpid/cpp/src/tests/ha_tests.py
parent75f9e37431ec7d7ca112012e322133db76808df4 (diff)
downloadqpid-python-8e0913a48177df57c4e0312bcfb7c5ee8dcdb327.tar.gz
QPID-5720: HA exception raised by the store for durable transactions
Running qpid-txtest against a HA cluster was raising this exception: async_dequeue() failed: jexception 0x0b02 wmgr::dequeue_check() threw JERR_MAP_LOCKED: Record ID locked by a pending transaction. This is actually a test bug. In a cluster a transaction commit takes longer to complete because of co-ordinating with backups, the test was not waiting for the completion of commit command before proceeding. Adding a sync() in the test solves the problem. Note this test uses the old obsolete C++ API. Applications written using the supported messaging API are not affected by this. This can be verified using the qpid-send and qpid-receive clients with the --tx option (there is already an automated test for this in ha_tests.py.) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589520 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/ha_tests.py')
-rwxr-xr-xqpid/cpp/src/tests/ha_tests.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/qpid/cpp/src/tests/ha_tests.py b/qpid/cpp/src/tests/ha_tests.py
index 844856f718..de04c44481 100755
--- a/qpid/cpp/src/tests/ha_tests.py
+++ b/qpid/cpp/src/tests/ha_tests.py
@@ -1551,15 +1551,13 @@ class TransactionTests(HaBrokerTest):
for t in threads: t.join()
for s in sessions: s.connection.close()
- def test_broker_tx_tests(self):
+ def test_other_tx_tests(self):
cluster = HaCluster(self, 3)
- print "Running python broker tx tests"
- p = subprocess.Popen(["qpid-python-test",
- "-m", "qpid_tests.broker_0_10",
- "-b", "localhost:%s"%(cluster[0].port()),
- "*.tx.*"])
- assert not p.wait()
- print "Finished python broker tx tests"
+ self.popen(["qpid-txtest", "-p%s"%cluster[0].port()]).assert_exit_ok()
+ self.popen(["qpid-python-test",
+ "-m", "qpid_tests.broker_0_10",
+ "-b", "localhost:%s"%(cluster[0].port()),
+ "*.tx.*"]).assert_exit_ok()
if __name__ == "__main__":
outdir = "ha_tests.tmp"