Bug 696698

Summary: binding order inconsistency in cluster
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Alan Conway <aconway>
Status: CLOSED ERRATA QA Contact: Petr Matousek <pematous>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 1.3CC: iboverma, jneedle, kpalko, mcressma, pematous, tross
Target Milestone: 2.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-mrg-0.10-4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 705802 716262 (view as bug list) Environment:
Last Closed: 2011-06-23 15:44:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 705802, 716262    

Description Gordon Sim 2011-04-14 16:28:53 UTC
Description of problem:


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


How reproducible:


Steps to Reproduce:
1. create several queues against a single cluster node all or some of which have a limit configured
2. bind these queues to e.g. amq.topic all with the same key
3. start a new cluster node member
4. send some messages through the exchange to those queues; cause one (but not all) of the queues to reach its capacity (e.g. have receivers on all queues but stop the receiver for one queue)
5. when the sender hits the capacity limit on that one queue, the number of queues to which the final message was enqueued depends on binding order which is now inconsistent
6. run qpid-stat -q against each nod  e to check for inconsistency

E.g. 

1. start node 1

2. for q in b d c a ; do qpid-config add queue $q --max-queue-count 5; qpid-config bind amq.topic $q key; done

3. start node 2

4. qpid-send --messages 4 --address amq.topic/key

5. for q in a b d; do ./examples/messaging/drain --count 4 $q; done

Actual results:

Inconsistency in messages on queues

Expected results:

No inconsistency

Additional info:

Comment 1 Alan Conway 2011-04-15 17:47:54 UTC
Upstream fix on trunk r1092765

Comment 2 Alan Conway 2011-04-15 20:40:18 UTC
r1092765 broke the trunk tests and was reverted by r1092804. 
Will post again when the problems are fixed.

Comment 3 Alan Conway 2011-04-18 20:46:39 UTC
Upstream fix on trunk r1094734

Comment 6 Alan Conway 2011-04-26 21:19:04 UTC
*** Bug 692906 has been marked as a duplicate of this bug. ***

Comment 7 Petr Matousek 2011-05-18 14:21:50 UTC
This issue has been fixed in qpid-cpp-mrg-0.10-4 for RHEL5, but not yet
available in any RHEL6 package. 

The bug was cloned for RHEL6: please see bug 705802

Verified on RHEL5.6 architectures: i386, x86_64

packages installed:
python-qpid-0.10-1.el5
python-qpid-qmf-0.10-6.el5
qpid-cpp-client-0.10-7.el5
qpid-cpp-client-devel-0.10-7.el5
qpid-cpp-client-devel-docs-0.10-7.el5
qpid-cpp-client-ssl-0.10-7.el5
qpid-cpp-server-0.10-7.el5
qpid-cpp-server-cluster-0.10-7.el5
qpid-cpp-server-devel-0.10-7.el5
qpid-cpp-server-ssl-0.10-7.el5
qpid-cpp-server-store-0.10-7.el5
qpid-cpp-server-xml-0.10-7.el5
qpid-java-client-0.10-6.el5
qpid-java-common-0.10-6.el5
qpid-java-example-0.10-6.el5
qpid-qmf-0.10-2.el5
qpid-qmf-0.10-6.el5
qpid-qmf-devel-0.10-2.el5
qpid-qmf-devel-0.10-6.el5
qpid-tools-0.10-5.el5
rh-qpid-cpp-tests-0.10-7.el5
rh-tests-distribution-MRG-Messaging-qpid_common-1.6-56
ruby-qpid-qmf-0.10-6.el5


-> VERIFIED

Comment 8 errata-xmlrpc 2011-06-23 15:44:06 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0890.html