Bug 681331

Summary: Alternate-Exchange configuration not communicated between nodes in a cluster
Product: Red Hat Enterprise MRG Reporter: Isaac Betesh <isaac.betesh>
Component: qpid-cppAssignee: Alan Conway <aconway>
Status: CLOSED ERRATA QA Contact: Petr Matousek <pematous>
Severity: high Docs Contact:
Priority: urgent    
Version: 1.3CC: agoldste, freznice, gsim, iboverma, jneedle, mcressma, pematous
Target Milestone: 2.0   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: qpid-cpp-mrg-0.9.1079953-1 Doc Type: Bug Fix
Doc Text:
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.
Story Points: ---
Clone Of:
: 716244 (view as bug list) Environment:
Last Closed: 2011-06-23 15:44:01 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: 716244    
Attachments:
Description Flags
c++ program to send and receive messages; shell script that runs full test and demonstrates failure; makefile included none

Description Isaac Betesh 2011-03-01 19:00:07 UTC
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:

Comment 1 Andy Goldstein 2011-03-01 19:03:46 UTC
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.

Comment 2 Alan Conway 2011-03-02 21:08:46 UTC
Fixed on upstream trunk r1076375

Comment 3 Alan Conway 2011-03-11 22:03:55 UTC
    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.

Comment 4 Petr Matousek 2011-04-07 15:50:09 UTC
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

Comment 5 errata-xmlrpc 2011-06-23 15:44:01 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