From 4fe2d26d1ab8343a8bde3707fd2676fd6f6f5c98 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 11 Sep 2013 20:53:22 +0000 Subject: QPID-5132: HA crash in test_tx_join_leave caused by double delete of queue. Fix crash caused by double-delete of transaction queue when a broker joins while a transaction is in progress. - Ignore mode for non-participants in TX. - Try/catch around queue & exchange deletion. - Consistent use of QueueRegistry::get when queues are required. - Remove unnecessary exchange delete warning. - Remove HaBroker::delete, use realm@username when deleting queues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1522031 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/tests/ha_tests.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'qpid/cpp/src/tests/ha_tests.py') diff --git a/qpid/cpp/src/tests/ha_tests.py b/qpid/cpp/src/tests/ha_tests.py index 17a60a2c76..5fd0e2fa40 100755 --- a/qpid/cpp/src/tests/ha_tests.py +++ b/qpid/cpp/src/tests/ha_tests.py @@ -1467,13 +1467,10 @@ class TransactionTests(BrokerTest): tx = cluster[0].connect().session(transactional=True) s = tx.sender("q;{create:always}") s.send("foo") - tx_q = cluster[0].agent().tx_queues()[0] cluster.restart(1) - # Verify the new member should not be in the transaction. - # but should receive the result of the transaction via normal replication. - cluster[1].wait_no_queue(tx_q) tx.commit() - for b in cluster: b.assert_browse_backup("q", ["foo"]) + # The new member is not in the tx but receives the results normal replication. + for b in cluster: b.assert_browse_backup("q", ["foo"], msg=b) if __name__ == "__main__": outdir = "ha_tests.tmp" -- cgit v1.2.1