Cause: The mechanism for generating Link and Bridge names was incorrect and could generate the same name for multiple distinct Links and Bridges.
Consequence: The broker's internal federation configuration would become corrupt. This resulted in inconsistencies among clustered brokers, forcing one or more brokers to exit.
Fix: Fix the Bridge and Link naming algorithm to guarantee unique names for all Bridge and Link objects.
Result: Clustered brokers running federation would remain consistent.
Description of problem:
While starting up a broker cluster node, the broker occasionally exits with an invalid-argument exception. The broker startup logic for each cluster member attempts to create a dynamic federation bridge to another cluster of brokers. It appears that a session error caused by attempting to obtain an exclusive lock on the bridge queue might cause an inconsistency in the broker.
Version-Release number of selected component (if applicable):
qpid-cpp-server-0.7.946106-28_ptc_hotfix_5_v2.el5
qpid-cpp-server-cluster-0.7.946106-28_ptc_hotfix_5_v2.el5
How reproducible:
Fairly often right at broker start-up.
Steps to Reproduce:
1. Start the first clustered broker and create a dynamic federation bridge to another broker.
2. Start the second cluster broker and attempt to create the same dynamic federation bridge.
Actual results:
A cluster member fails.
Expected results:
All cluster members remain functional.
Additional info:
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHSA-2013-0561.html