[ https://issues.apache.org/jira/browse/QPID-6033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14106788#comment-14106788 ]
Pavel Moravec commented on QPID-6033: ------------------------------------- Something like: DeliveryRecords::iterator removed = remove_if(unacked.begin(), unacked.end(), isInSequenceSetAnd(commands, bind(&SemanticState::complete, this, _1))); unacked.erase(removed, unacked.end()); in SemanticState::completed needs to be executed in SemanticState::accepted as well - surely just the unacked.erase command but on equivalent set. > [C++ broker] Session statistics sessUnacked wrongly updated > ----------------------------------------------------------- > > Key: QPID-6033 > URL: https://issues.apache.org/jira/browse/QPID-6033 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Affects Versions: 0.28 > Reporter: Pavel Moravec > Priority: Trivial > > sessUnacked counter for a subscriber gets updated only when re-issuing credit > on the session (session.completed AMQP 0=10 performative is received). While > it should be updated also on accepting messages (message.accept performative). > Reproducer: > qpid-send -a "testQ; {create:always}" -m 123 --content-size=10 > qpid-receive -a testQ -f -m 10000 --ack=100 --print-content=no & > Now, qpid-stat shows queue depth is 23 and 100 dequeues, but qpid-stat -u > shows sessUnacked=123. > (sessUnacked will drop after 500 messages are received, due to default > qpid-receive option --capacity=1000). -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org