qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-3899) Grouped messages with expired TTL will cause the broker to crash.
Date Thu, 15 Mar 2012 13:23:39 GMT

    [ https://issues.apache.org/jira/browse/QPID-3899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13230160#comment-13230160

jiraposter@reviews.apache.org commented on QPID-3899:

This is an automatically generated e-mail. To reply, visit:

Review request for qpid and Gordon Sim.


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.


  /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


unit tests, + new testcase.



> 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message