[
https://issues.apache.org/jira/browse/QPID-3899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13230160#comment-13230160
]
[email protected] commented on QPID-3899:
-----------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4362/
-----------------------------------------------------------
Review request for qpid and Gordon Sim.
Summary
-------
The current implementation of message groups incorrectly assumed that a message
being dequeued had previously been acquired. In the case of TTL expiration,
this is not the case - the expired message is not acquired, it is simply
dequeued.
This fix adds a flag that tracks the acquired state of each message in the
group. When a message is dequeued, the total acquired count for the group is
decremented ONLY IF the message being dequeued has its acquired flag set.
This addresses bug qpid-3899.
https://issues.apache.org/jira/browse/qpid-3899
Diffs
-----
/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.h 1300156
/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp 1300156
/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/msg_groups.py 1300156
Diff: https://reviews.apache.org/r/4362/diff
Testing
-------
unit tests, + new testcase.
Thanks,
Kenneth
> Grouped messages with expired TTL will cause the broker to crash.
> -----------------------------------------------------------------
>
> Key: QPID-3899
> URL: https://issues.apache.org/jira/browse/QPID-3899
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Affects Versions: 0.16
> Reporter: Ken Giusti
> Assignee: Ken Giusti
> Priority: Blocker
> Fix For: 0.16
>
>
> If a message on a grouped message queue has an expired TTL, the broker will
> crash when de-queuing it.
> lt-qpidd: ../../../qpid/cpp/src/qpid/broker/MessageGroupManager.cpp:156:
> virtual void qpid::broker::MessageGroupManager::dequeued(const
> qpid::broker::QueuedMessage&): Assertion `state.acquired != 0' failed.
> Aborted (core dumped)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]