diff options
| author | Alan Conway <aconway@apache.org> | 2015-09-03 18:59:05 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2015-09-03 18:59:05 +0000 |
| commit | 14de0a97b80cc0f63208b61654dd0348fd3da8b1 (patch) | |
| tree | a9f3a2bcdda814d6a36ab1981ae528272d460523 /qpid/cpp/include | |
| parent | 492f7a78b8fd2ed7dd4e08184f42b7496aa8fed1 (diff) | |
| download | qpid-python-14de0a97b80cc0f63208b61654dd0348fd3da8b1.tar.gz | |
QPID-5855 - Simplified HA transaction logic.
Removed complex and incorrect HA+TX logic, reverted to the following limitation:
You can use transactions in a HA cluster, but there are limitations on the
transactional guarantees. Transactions function normally with the *primary*
broker but replication to the backups is not coverted by the atomic guarantee.
The following situations are all safe:
- Client rolls back a transaction.
- Client successfully commits a transaction.
- Primary fails during a transaction *before* the client sends a commit.
- Transaction contains only one message.
The problem case is when all of the following occur:
- transaction contains multiple actions (enqueues or dequeues)
- primary fails between client sending commit and receiving commit-complete.
In this case it is possible that only part of the transaction was replicated to
the backups, so on fail-over partial transaction results may be visible.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1701109 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/include')
0 files changed, 0 insertions, 0 deletions
