When attached via a replication link, the DR/replication side doesn't currently keep statistics on queues. We'd like for that to be changed so we do
We would need a clearer statement of the requirement to be able to address this. Queues on the DR side record the same statistics as the primary. The replication exchange type however does not record statistics usually recorded by exchanges - is that what this is requesting?
Hi Gordon, That is indeed what we're requesting here.
How to test. Setup replication: ./qpidd --auth no --load-module .libs/replicating_listener.so --no-data-dir --replication-queue replication-queue --create-replication-queue true ./qpidd --auth no --load-module .libs/replication_exchange.so --port 5673 --no-data-dir qpid-config -a localhost:5673 add exchange replication replication-exchange qpid-route --ack 50 queue add localhost:5673 localhost replication-exchange replication-queue ./qpid-config -a localhost:5673 add queue perftest0 ./qpid-config add queue perftest0 --generate-queue-events 2 now run perftest and check stats: ./perftest --count 100 For good run: qpid: show exchange 110 Object of type org.apache.qpid.broker:exchange: (last sample time: 21:43:22) Type Element 110 ==================================================== property vhostRef 103 property name replication-exchange property type replication property durable False property arguments {} statistic producerCount 0 statistic producerCountHigh 0 statistic producerCountLow 0 statistic bindingCount 0 statistic bindingCountHigh 0 statistic bindingCountLow 0 statistic msgReceives 200 statistic msgDrops 0 statistic msgRoutes 200 statistic byteReceives 102400 statistic byteDrops 0 statistic byteRoutes 102400 now drop the queue, and they should show drops. Also, if started with dirty Primary, then dequeues will drop, but messages will have 0 length. producer & binding stats will always be 0
Upstream as of Committed revision 797698.
The issue has been fixed on RHEL 4.8 / 5.4 i386 / x86_64 on packages: qpid-cpp-server-0.7.916826-2.el5 qpid-cpp-client-ssl-0.7.916826-2.el5 qpid-cpp-server-ssl-0.7.916826-2.el5 qpid-cpp-server-store-0.7.916826-2.el5 qpid-cpp-server-devel-0.7.916826-2.el5 qpid-java-common-0.7.918215-1.el5 qpid-cpp-server-xml-0.7.916826-2.el5 qpid-cpp-client-0.7.916826-2.el5 qpid-cpp-client-devel-0.7.916826-2.el5 qpid-cpp-client-rdma-0.7.916826-2.el5 qpid-cpp-server-rdma-0.7.916826-2.el5 qpid-java-client-0.7.918215-1.el5 qpid-dotnet-0.4.738274-2.el5 qpid-tools-0.7.917557-4.el5 qpid-cpp-server-cluster-0.7.916826-2.el5 python-qpid-0.7.917557-4.el5 -> VERIFIED
the issue has been fixed on RHEL 5.5.0.1 alpha i386 / x86_64 on packages: qpid-cpp-server-0.7.916826-2.el5 qpid-cpp-client-ssl-0.7.916826-2.el5 qpid-cpp-server-ssl-0.7.916826-2.el5 qpid-cpp-server-store-0.7.916826-2.el5 qpid-cpp-server-devel-0.7.916826-2.el5 qpid-java-common-0.7.918215-1.el5 qpid-cpp-server-xml-0.7.916826-2.el5 qpid-cpp-client-0.7.916826-2.el5 qpid-cpp-client-devel-0.7.916826-2.el5 qpid-cpp-client-rdma-0.7.916826-2.el5 qpid-cpp-server-rdma-0.7.916826-2.el5 qpid-java-client-0.7.918215-1.el5 qpid-dotnet-0.4.738274-2.el5 qpid-tools-0.7.917557-4.el5 qpid-cpp-server-cluster-0.7.916826-2.el5 python-qpid-0.7.917557-4.el5 -> VERIFIED
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: Disaster Recovery / Replication exchanges were failing to record the statistics info that other exchanges record. Consequence: qpid-stat does not show expected statistics for the replication exchange. Fix: add logic in src/qpid/replication/ReplicationExchange.cpp to record dropped bytes, received bytes, bytes received on each route, etc. Result: qpid-stat now shows expected stats for replication exchange.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,11 +1 @@ -Cause: +Previously, due to inability of Disaster Recovery / Replication exchanges to record the statistics information, qpid-stat did not produce the expected output for the replication exchange. With this update, all dropped bytes, received bytes, bytes received on each route, and other important information are recorded. As a result, the qpid-stat utility now displays the expected statistics.- Disaster Recovery / Replication exchanges were failing to record the statistics info that other exchanges record. - - Consequence: - qpid-stat does not show expected statistics for the replication exchange. - - Fix: - add logic in src/qpid/replication/ReplicationExchange.cpp to record dropped bytes, received bytes, bytes received on each route, etc. - - Result: - qpid-stat now shows expected stats for replication exchange.
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/RHSA-2010-0773.html