summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-07-05 19:22:45 +0000
committerAlan Conway <aconway@apache.org>2013-07-05 19:22:45 +0000
commit8b2a8b4cb5da09da2be300eb0ed925f5b1bfca71 (patch)
tree33b9a306293a4981d2c9d3b78c5cffbf84e14eaf
parente39cbc634df8f15de7e2664450797622fc9b11a3 (diff)
downloadqpid-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.md19
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