Bug 716244

Summary: Alternate-Exchange configuration not communicated between nodes in a cluster
Product: Red Hat Enterprise MRG Reporter: Mike Cressman <mcressma>
Component: qpid-cppAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED ERRATA QA Contact: Petr Matousek <pematous>
Severity: high Docs Contact:
Priority: urgent    
Version: 1.3CC: agoldste, freznice, gsim, iboverma, isaac.betesh, jneedle, jross, mcressma, pematous, tross
Target Milestone: 1.3.3   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: qpid-cpp-mrg-0.7.946106-33 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 681331 Environment:
Last Closed: 2011-08-10 17:21:08 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: 681331    
Bug Blocks:    

Description Mike Cressman 2011-06-23 18:50:09 UTC
+++ This bug was initially created as a clone of Bug #681331 +++

Created attachment 481707 [details]
c++ program to send and receive messages; shell script that runs full test and demonstrates failure; makefile included

Description of problem:
When an exchange is declared with an alternate-exchange on one node of a cluster, other nodes in the cluster are not made aware of the alternate-exchange.

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

How reproducible:
100% of the time

Steps to Reproduce:
1. download attachment and untar all files to a single folder
2. run poc.sh
3. See comments in poc.sh to follow what's happening step-by-step
  
Actual results:
Within the output, you will see the following:
<<< 
Message 1 was not received.
Message 2 received!
>>>
Message 1 was sent to 1.Ex, which was created on a different node.  Message 2 was sent to 2.Ex, which was created on the same node.
The script then calls qpid-stat.  You’ll see that only Message 2 (98 bytes) was received by Alternate.Ex.  Message 1 (9  bytes) was dropped by 1.Ex without being received by Alternate.Ex.


Expected results:
Both Message 1 and Message 2 should be received.  In qpid-stat, Alternate.Ex should show msgIn=2, msgOut=2, byteIn=107(== 98+9), byteOut=107

Additional info:

--- Additional comment from agoldste on 2011-03-01 14:03:46 EST ---

This appears to happen only when a node is restarted or a new node is added, i.e. nodes playing catch-up aren't told about the alternate exchange.

--- Additional comment from aconway on 2011-03-02 16:08:46 EST ---

Fixed on upstream trunk r1076375

--- Additional comment from aconway on 2011-03-11 17:03:55 EST ---


    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Running a cluster and using alternate exchanges.
Consequence: Alternate exchange settings were not propagated to new cluster members.
Fix: Corrected the cluster update process to include alternate exchanges.
Result: Alternate exchanges work as expected in a cluster.

--- Additional comment from pematous on 2011-04-07 11:50:09 EDT ---

This issue has been fixed

Verified on RHEL5.6 and RHEL6.1, architectures: i386, x86_64

packages installed:
qpid-cpp-mrg-debuginfo-0.10-1.el5
qpid-cpp-client-0.10-1.el5
qpid-cpp-server-devel-0.10-1.el5
qpid-cpp-server-0.10-1.el5
qpid-cpp-client-devel-0.10-1.el5
qpid-cpp-client-devel-docs-0.10-1.el5
qpid-cpp-server-xml-0.10-1.el5
qpid-cpp-server-cluster-0.10-1.el5
qpid-cpp-client-ssl-0.10-1.el5
qpid-cpp-server-store-0.10-1.el5
qpid-cpp-server-ssl-0.10-1.el5
openais-0.80.6-28.el5
openais-devel-0.80.6-28.el5
openais-devel-0.80.6-28.el5

( RHEL6
corosynclib-1.2.3-34.el6.x86_64
corosync-1.2.3-34.el6.x86_64
)

-> VERIFIED

--- Additional comment from errata-xmlrpc on 2011-06-23 11:44:01 EDT ---

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

Comment 1 Petr Matousek 2011-07-20 09:25:38 UTC
This issue has been fixed

Verified on RHEL5.7, architectures: i386, x86_64

packages installed:
python-qpid-0.7.946106-15.el5
qpid-cpp-client-0.7.946106-33.el5
qpid-cpp-client-devel-0.7.946106-33.el5
qpid-cpp-client-devel-docs-0.7.946106-33.el5
qpid-cpp-client-ssl-0.7.946106-33.el5
qpid-cpp-server-0.7.946106-33.el5
qpid-cpp-server-cluster-0.7.946106-33.el5
qpid-cpp-server-devel-0.7.946106-33.el5
qpid-cpp-server-ssl-0.7.946106-33.el5
qpid-cpp-server-store-0.7.946106-33.el5
qpid-cpp-server-xml-0.7.946106-33.el5
qpid-java-client-0.10-6.el5
qpid-java-common-0.10-6.el5
qpid-java-example-0.10-6.el5
qpid-tools-0.7.946106-12.el5

-> VERIFIED

Comment 2 errata-xmlrpc 2011-08-10 17:21:08 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/RHBA-2011-1147.html