Description of problem: Currently the broker replicates wiring (queues and exchanges) using standard amqp declare commands. Recent changes mean that exchanges have additional state not declared in bind (counters to assign sequence numbers to messages.) This state is not replicated in to new cluster members. Fix: Modify cluster replication to use the same encode/decode mechansim used for persistent store. This resolves the current problem and ensures consistency between cluster and store going forward.
Testing information: Write a test client that verifies the sequence numbers added by the broker (ask cctreilof about this feature ) - Start a cluster with a single node - send N bugs thru this node, verify sequence numbers - Start a second cluster node - Send mesages thru this node, ensure sequence numbers continue from N+1.
Fixed in SVN r713425. Unit test is tests/cluster_test.cpp QPID_AUTO_TEST_CASE(testSequenceOptions) {
Complete cluster test ran without failures. Feature implemented. Validated on RHEL 5.2 i386 / x86_64 in 3 node openais cluster. (rev:720810) ->VERIFIED
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-2009-0035.html