diff options
author | Alan Conway <aconway@apache.org> | 2013-07-05 19:22:45 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2013-07-05 19:22:45 +0000 |
commit | 8b2a8b4cb5da09da2be300eb0ed925f5b1bfca71 (patch) | |
tree | 33b9a306293a4981d2c9d3b78c5cffbf84e14eaf | |
parent | e39cbc634df8f15de7e2664450797622fc9b11a3 (diff) | |
download | qpid-python-8b2a8b4cb5da09da2be300eb0ed925f5b1bfca71.tar.gz |
QPID-4327: Minor edits to ha-transactions.md
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1500107 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/design_docs/ha-transactions.md | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/qpid/cpp/design_docs/ha-transactions.md b/qpid/cpp/design_docs/ha-transactions.md index a5b952398f..ab4b1c6925 100644 --- a/qpid/cpp/design_docs/ha-transactions.md +++ b/qpid/cpp/design_docs/ha-transactions.md @@ -1,4 +1,3 @@ - # Design note: HA with Transactions. Clients can use transactions (TX or DTX) with the current HA module but: @@ -127,14 +126,14 @@ Backups abort all open tx if the primary fails. ## Atomicity Keep tx atomic when backups catch up while a tx is in progress. -A `ready` backup should never contain a subset of messages in a transaction. +A `ready` backup should never contain a proper subset of messages in a transaction. Scenario: - Guard placed on Q for an expected backup. - Transaction with messages A,B,C on Q is prepared, tx-queue is closed. - Expected backup connects and is declared ready due to guard. -- Transaction commits, primary adds A, B to Q and crashes before adding C. +- Transaction commits, primary publishes A, B to Q and crashes before adding C. - Backup is ready so promoted to new primary with a partial transaction A,B. *TODO*: Not happy with the following solution. @@ -167,9 +166,13 @@ NOTE: needs thougthful locking to correctly handle ## Testing -*TODO* +New tests: + +- TX transaction tests in python. +- TX failover stress test (c.f. `test_failover_send_receive`) + +Existing tests: + +- JMS transaction tests (DTX & TX) +- `qpid/tests/src/py/qpid_tests/broker_0_10/dtx.py,tx.py` run against HA broker. -- JMS tests -- Port old cluster_tests.py Dtx & Tx tests to HA. -- tests/src/py/qpid_tests/broker_0_10/dtx.py,tx.py (run all python tests against HA broker?) -- new tests with messaging API tx |