[ 
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

Reply via email to