diff options
author | Alan Conway <aconway@apache.org> | 2012-12-11 21:50:03 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2012-12-11 21:50:03 +0000 |
commit | bdc30f4246918c5f86eb50171d0efc95cd674895 (patch) | |
tree | cb7d7f4b2f3de83f9feab64a1ae07fbd4abb5163 /qpid/cpp/src/tests/ha_test.py | |
parent | fffac20e0f519d3b065785fc67b604630ed8edc3 (diff) | |
download | qpid-python-bdc30f4246918c5f86eb50171d0efc95cd674895.tar.gz |
QPID-4481: HA replication of propagated bindings can lead to incorrect configuration
When using dynamic federation between two independent HA broker clusters, it is
possible under certain failover scenarios for the propagated bindings on the
source broker to become out-of-sync with the true state of bindings on the
destination broker.
How reproducible:
Often -- race condition between re-establishment of federated link and the deletion of a binding on the destination broker
Steps to Reproduce:
1. Start a stand-alone broker (route destination) and an HA broker (route source w/ primary and backup)
2. Configure a dynamic federated route between a destination broker and a source broker. The dynamic federation needs to utilize an existing, non-auto-delete queue on the source broker.
3. Subscribe to an auto-delete queue on the destination broker and bind the auto-delete queue to the exchange configured for the dynamic federation
4. Kill the primary source broker
5. Kill the subscription to the auto-delete queue on the destination broker
6. Promote the backup source broker to primary
Actual results:
With the loss of the client subscription to the auto-delete queue, the binding will be removed. If the binding is removed prior to the re-establishment of the federated link to the source broker, the unbind command will not propagate. Since the backup source broker had previously replicated the propagated binding, the binding will incorrectly remain on the source broker.
Expected results:
Propagated bindings should not be replicated from the primary to backups since they are transient and will be recreated when the route is re-established.)))
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1420438 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/ha_test.py')
0 files changed, 0 insertions, 0 deletions