Description of problem: When using standalone replication between two brokers, there will be replication errors if messages are put onto the primary queue before replication is set up. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: Create queue "q" on brokers P and B. Put messages 1,2,3 on P.q Start replication from P.q to B.q Put messages 4,5,6 o P.q Fetch and acknowledged one message from P.q Fetch all messages from B.q. Actual results: B.q has messages 0,1,3,4,5 Expected results: B.q has messages 1,2,3,4,5 Additional info:
Bug was discovered & fixed during development. Ported from trunk for 0.22-mrg on branch 0.22-mrg-aconway-bz1043035 base: 0.22-mrg-aconway-bz859119 trunk: - r1550819 | QPID-5421: HA replication error in stand-alone replication - r1550818 | QPID-5421: Refactor: clean up QueueObservers. 0.22-mrg-aconway-bz1043035: - 81d6d49 Bug 1043035 - QPID-5421: HA replication error in stand-alone replication - aa1ec3b Bug 1043035 - QPID-5421: Refactor: clean up QueueObservers.
The docs are missing a configuration setting (on both brokers) ha-queue-replication=yes I raised doc bug 1084621. There is more recent documentation here: http://qpid.apache.org/releases/qpid-0.24/cpp-broker/book/ha-queue-replication.html
Tested on RHEL6.5, both i386 and x86_64. This issue has been fixed. Packages used for testing: python-qpid-0.22-13.el6.noarch python-qpid-qmf-0.22-29.el6.x86_64 qpid-cpp-client-0.22-37.el6.x86_64 qpid-cpp-client-devel-0.22-37.el6.x86_64 qpid-cpp-client-devel-docs-0.22-37.el6.noarch qpid-cpp-client-rdma-0.22-37.el6.x86_64 qpid-cpp-server-0.22-37.el6.x86_64 qpid-cpp-server-devel-0.22-37.el6.x86_64 qpid-cpp-server-ha-0.22-37.el6.x86_64 qpid-cpp-server-linearstore-0.22-37.el6.x86_64 qpid-cpp-server-rdma-0.22-37.el6.x86_64 qpid-cpp-server-xml-0.22-37.el6.x86_64 qpid-java-client-0.22-6.el6.noarch qpid-java-common-0.22-6.el6.noarch qpid-java-example-0.22-6.el6.noarch qpid-jca-0.22-2.el6.noarch qpid-jca-xarecovery-0.22-2.el6.noarch qpid-jca-zip-0.22-2.el6.noarch qpid-proton-c-0.6-1.el6.x86_64 qpid-qmf-0.22-29.el6.x86_64 qpid-qmf-devel-0.22-29.el6.x86_64 qpid-tests-0.22-14.el6.noarch qpid-tools-0.22-10.el6.noarch rh-qpid-cpp-tests-0.22-37.el6.x86_64 ruby-qpid-qmf-0.22-29.el6.x86_64 -> VERIFIED