Bug 511066 - Replication exchange type should record the usual management stats
Replication exchange type should record the usual management stats
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
1.1.2
All Linux
high Severity medium
: 1.3
: ---
Assigned To: Gordon Sim
ppecka
: FutureFeature
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-13 10:39 EDT by Frank Hirtz
Modified: 2010-10-14 12:07 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
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.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-14 12:07:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Frank Hirtz 2009-07-13 10:39:11 EDT
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
Comment 1 Gordon Sim 2009-07-13 10:57:04 EDT
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?
Comment 2 Frank Hirtz 2009-07-13 11:04:53 EDT
Hi Gordon,

That is indeed what we're requesting here.
Comment 3 Carl Trieloff 2009-07-24 20:31:14 EDT
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
Comment 4 Carl Trieloff 2009-07-24 20:45:16 EDT
Upstream as of Committed revision 797698.
Comment 6 ppecka 2010-03-11 06:03:14 EST
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
Comment 7 ppecka 2010-03-11 08:02:52 EST
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
Comment 8 mick 2010-10-07 11:53:48 EDT
    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.
Comment 9 Jaromir Hradilek 2010-10-08 06:56:03 EDT
    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.
Comment 11 errata-xmlrpc 2010-10-14 12:07:10 EDT
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

Note You need to log in before you can comment on or make changes to this bug.