[
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: [email protected]
For additional commands, e-mail: [email protected]