Bug 876688

Summary: HA replication of propagated bindings can lead to incorrect configuration
Product: Red Hat Enterprise MRG Reporter: Jason Dillaman <jdillama>
Component: qpid-cppAssignee: Chuck Rolke <crolke>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: unspecified Docs Contact:
Priority: high    
Version: DevelopmentCC: aconway, esammons, iboverma, jross, mcressma
Target Milestone: 2.3Keywords: OtherQA, Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.18-11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 880360 (view as bug list) Environment:
Last Closed: 2013-03-19 16:39:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 698367, 880360    
Attachments:
Description Flags
Quick patch to exlude propagated bindings from replication none

Description Jason Dillaman 2012-11-14 17:46:12 UTC
Description of problem:
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.

Version-Release number of selected component (if applicable):
Qpid 0.18-9

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.

Additional info:

Comment 1 Jason Dillaman 2012-11-14 18:13:54 UTC
Created attachment 645040 [details]
Quick patch to exlude propagated bindings from replication

Comment 4 Alan Conway 2012-11-27 21:52:23 UTC
Reviewed and approve of the fix 0.18-mrg-crolke-bz876688