[jira] [Commented] (QPID-6524) [C++ broker]: Fix for QPID-5107 incomplete for queues

2015-04-30 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-6524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14521486#comment-14521486
 ] 

ASF subversion and git services commented on QPID-6524:
---

Commit 1676982 from [~pmoravec] in branch 'qpid/trunk'
[ https://svn.apache.org/r1676982 ]

QPID-6524:  [C++ broker]: Fix for QPID-5107 incomplete for queues

 [C++ broker]: Fix for QPID-5107 incomplete for queues
 -

 Key: QPID-6524
 URL: https://issues.apache.org/jira/browse/QPID-6524
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.30
Reporter: Pavel Moravec
Priority: Minor

 QPID-5107 fixes all except the very basic scenario when the queue is deleted 
 before broker shutdown. I.e. in use case:
 {quote}
 qpid-config add queue testQueue1
 qpid-send --address testQueue1 -m 13 --content-size=1024
 qpid-config del queue testQueue1 --force
 {quote}
 the statistics show:
 {quote}
 trace Mgmt destroying queue. id:testQueue1 Statistics: {acquires:0, 
 bindingCount:0, bindingCountHigh:1, bindingCountLow:0, byteDepth:0, 
 byteFtdDepth:0, byteFtdDequeues:0, byteFtdEnqueues:0, bytePersistDequeues:0, 
 bytePersistEnqueues:0, byteTotalDequeues:14183, byteTotalEnqueues:14183, 
 byteTxnDequeues:0, byteTxnEnqueues:0, consumerCount:0, consumerCountHigh:0, 
 consumerCountLow:0, creator:anonymous, discardsLvq:0, discardsOverflow:0, 
 discardsPurge:0, discardsRing:0, discardsSubscriber:0, discardsTtl:0, 
 flowStopped:False, flowStoppedCount:0, messageLatencyAvg:0, 
 messageLatencyCount:0, messageLatencyMax:0, messageLatencyMin:0, msgDepth:0, 
 msgFtdDepth:0, msgFtdDequeues:0, msgFtdEnqueues:0, msgPersistDequeues:0, 
 msgPersistEnqueues:0, msgTotalDequeues:13, msgTotalEnqueues:13, 
 msgTxnDequeues:0, msgTxnEnqueues:0, redirectPeer:, redirectSource:False, 
 releases:0, reroutes:0, unackedMessages:0, unackedMessagesHigh:0, 
 unackedMessagesLow:0}
 {quote}
 See e.g. msgDepth:0 or msgTotalDequeues:13.
 Those values are correct from the technical point of view (broker can delete 
 only empty queue, after purging all its messages and deleting all bindings 
 etc.), but they are not right from end-user perspective who sees the broker 
 had some messages in the queue, but a log for deleting the queue does not 
 mention them.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPID-6524) [C++ broker]: Fix for QPID-5107 incomplete for queues

2015-04-30 Thread Pavel Moravec (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-6524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14521348#comment-14521348
 ] 

Pavel Moravec commented on QPID-6524:
-

Currently, debugStats method responsible for the log is called from Queue class 
destructor. That is necessary for queues being deleted during broker shutdown, 
when no other method like Queue::destroyed() is called. So, the current log - 
until I see there is a simple test to detect shutting down broker - should 
remain as is.

To limit the user confusion, I suggest adding a new log based on patch:

{noformat}
Index: qpid/broker/Queue.cpp
===
--- qpid/broker/Queue.cpp   (revision 1676937)
+++ qpid/broker/Queue.cpp   (working copy)
@@ -1136,6 +1136,8 @@
 
 void Queue::destroyed()
 {
+if (mgmtObject != 0)
+mgmtObject-debugStats(deleting);
 unbind(broker-getExchanges());
 remove(0, 0, boost::bind(Queue::abandoned, this, _1), REPLICATOR/*even 
acquired message are treated as abandoned*/, false);
 if (alternateExchange.get()) {
{noformat}

In case of a queue deleted during broker runtime, trace logs will be:

{noformat}
2015-04-30 12:36:05 [Model] trace Mgmt deleting queue. id:testQueue1 
Statistics: {acquires:0, bindingCount:1, bindingCountHigh:1, bindingCountLow:0, 
byteDepth:14183, byteFtdDepth:0, byteFtdDequeues:0, byteFtdEnqueues:0, 
bytePersistDequeues:0, bytePersistEnqueues:0, byteTotalDequeues:0, 
byteTotalEnqueues:14183, byteTxnDequeues:0, byteTxnEnqueues:0, consumerCount:0, 
consumerCountHigh:0, consumerCountLow:0, creator:anonymous, discardsLvq:0, 
discardsOverflow:0, discardsPurge:0, discardsRing:0, discardsSubscriber:0, 
discardsTtl:0, flowStopped:False, flowStoppedCount:0, messageLatencyAvg:0, 
messageLatencyCount:0, messageLatencyMax:0, messageLatencyMin:0, msgDepth:13, 
msgFtdDepth:0, msgFtdDequeues:0, msgFtdEnqueues:0, msgPersistDequeues:0, 
msgPersistEnqueues:0, msgTotalDequeues:0, msgTotalEnqueues:13, 
msgTxnDequeues:0, msgTxnEnqueues:0, redirectPeer:, redirectSource:False, 
releases:0, reroutes:0, unackedMessages:0, unackedMessagesHigh:0, 
unackedMessagesLow:0}
2015-04-30 12:36:05 [Model] trace Mgmt destroying queue. id:testQueue1 
Statistics: {acquires:0, bindingCount:0, bindingCountHigh:1, bindingCountLow:0, 
byteDepth:0, byteFtdDepth:0, byteFtdDequeues:0, byteFtdEnqueues:0, 
bytePersistDequeues:0, bytePersistEnqueues:0, byteTotalDequeues:14183, 
byteTotalEnqueues:14183, byteTxnDequeues:0, byteTxnEnqueues:0, consumerCount:0, 
consumerCountHigh:0, consumerCountLow:0, creator:anonymous, discardsLvq:0, 
discardsOverflow:0, discardsPurge:0, discardsRing:0, discardsSubscriber:0, 
discardsTtl:0, flowStopped:False, flowStoppedCount:0, messageLatencyAvg:0, 
messageLatencyCount:0, messageLatencyMax:0, messageLatencyMin:0, msgDepth:0, 
msgFtdDepth:0, msgFtdDequeues:0, msgFtdEnqueues:0, msgPersistDequeues:0, 
msgPersistEnqueues:0, msgTotalDequeues:13, msgTotalEnqueues:13, 
msgTxnDequeues:0, msgTxnEnqueues:0, redirectPeer:, redirectSource:False, 
releases:0, reroutes:0, unackedMessages:0, unackedMessagesHigh:0, 
unackedMessagesLow:0}
{noformat}

I.e. the 1st one with proper counters (e.g. msgDepth:13, msgTotalDequeues:0), 
second one with counters after the purge.


In case of a queue deleted during broker shutting-down, trace logs will be:

{noformat}
2015-04-30 12:36:10 [Model] trace Mgmt destroying queue. id:testQueue1 
Statistics: {acquires:0, bindingCount:0, bindingCountHigh:1, bindingCountLow:0, 
byteDepth:14183, byteFtdDepth:0, byteFtdDequeues:0, byteFtdEnqueues:0, 
bytePersistDequeues:0, bytePersistEnqueues:0, byteTotalDequeues:0, 
byteTotalEnqueues:14183, byteTxnDequeues:0, byteTxnEnqueues:0, consumerCount:0, 
consumerCountHigh:0, consumerCountLow:0, creator:anonymous, discardsLvq:0, 
discardsOverflow:0, discardsPurge:0, discardsRing:0, discardsSubscriber:0, 
discardsTtl:0, flowStopped:False, flowStoppedCount:0, messageLatencyAvg:0, 
messageLatencyCount:0, messageLatencyMax:0, messageLatencyMin:0, msgDepth:13, 
msgFtdDepth:0, msgFtdDequeues:0, msgFtdEnqueues:0, msgPersistDequeues:0, 
msgPersistEnqueues:0, msgTotalDequeues:0, msgTotalEnqueues:13, 
msgTxnDequeues:0, msgTxnEnqueues:0, redirectPeer:, redirectSource:False, 
releases:0, reroutes:0, unackedMessages:0, unackedMessagesHigh:0, 
unackedMessagesLow:0}
{noformat}

I.e. with proper counters.




 [C++ broker]: Fix for QPID-5107 incomplete for queues
 -

 Key: QPID-6524
 URL: https://issues.apache.org/jira/browse/QPID-6524
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.30
Reporter: Pavel Moravec
Priority: Minor

 QPID-5107 fixes all except the very basic scenario when the queue is deleted 
 before broker shutdown. I.e. in use case: