activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Riccardi (Created) (JIRA)" <>
Subject [jira] [Created] (AMQCPP-393) TimeToLive feature makes some messages disappear
Date Tue, 10 Apr 2012 09:29:18 GMT
TimeToLive feature makes some messages disappear

                 Key: AMQCPP-393
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: CMS Impl
    Affects Versions: 3.4.0
         Environment: Ubuntu 10.04 x86_64, CMS 3.4.0, ActiveMQ 5.5.0 (and 5.6 SNAPSHOT of
            Reporter: Thomas Riccardi
            Assignee: Timothy Bish

The following setup is run in one machine:

ActiveMQ Broker 5.5.0, with:

Two C++ programs using CMS 3.4.0:
Program A produces messages to a "request" queue with a TTL of 1000ms.
Program B consumes messages from "request" queue with prefetch=0, process the messages, and
posts a reply in "reply" queue.

Program A sends 222 messages to the "request" queue.
Program B process a message in about 250ms.
Program B has the time to process 4 messages from "request", and post the 4 replies to "reply".
Then the broker moves to the "DLQ" queue the expired messages from the "request" queue.

Final state: "request" is empty, "reply" has 4 enqueued messages, and "DLQ" has 125 enqueued

*The bug*: the sum of messages counts from "DLQ" and "reply" is lower than the number of messages
initially enqueued in "request": there are 93 messages missing.

The messages are not lost by the Program B: with traces on the receive() loop we confirm that
it only got 4 messages.
      while (1)
        cms::Message *message = _messageConsumer->receive();
        if (! message)
        delete message;

The bug is reproducible, but the numbers vary. This happens less often if we increase the
TTL to 10s, and this never happens with no TTL (TTL=0, default).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message