[
https://issues.apache.org/jira/browse/AMQ-3942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pedro de Lara updated AMQ-3942:
-------------------------------
Description:
When sending messages to a queue and waiting for the expiration task to expire
them, only some of the expired messages are moved to the DLQ. Other expired
messages (With same expiration time as the ones moved to the DLQ) just sit in
the queue, stuck until all messages in the queue expire, at which point they
are all moved to the DLQ.
This seems to happen only in the embedded broker (configured in activemq.xml)
and only for some messages (It seems the size of the message however I am
uncertain if the content could actually cause such an issue).
A Unit Test is provided that shows the issue. The unit test includes a boolean
that can be changed to run it towards a created broker (instead of the embedded
one) for comparison purposes.
An activemq configuration file (activemq.xml) is also provided as it is the
only file that has been changed from default installation.
Test were done on activeMQ running on both JDK 1.7.0_03 and 1.6.0_33 with the
activemq executable script being pointed towards those versions (Instead of
"auto").
was:
When sending messages to a queue and waiting for the expiration task to expire
them, only some of the expired messages are moved to the DLQ. Other expired
messages (With same expiration time as the ones moved to the DLQ) just sit in
the queue, stuck until all messages in the queue expire, at which point they
are all moved to the DLQ.
This seems to happen only in the embedded broker (configured in activemq.xml)
and only for some messages (It seems the size of the message however I am
uncertain if the content could actually cause such an issue).
A Unit Test is provided that shows the issue. The unit test includes a boolean
that can be changed to run it towards a created broker (instead of the embedded
one) for comparison purposes.
An activemq configuration file (activemq.xml) is also provided as it is the
only file that has been changed from default installation.
Test were done on activeMQ running on JDK 1.7.0_03 with the activemq executable
script being pointed towards that version (Instead of "auto").
> Certain messages do not expire in the embedded broker
> -----------------------------------------------------
>
> Key: AMQ-3942
> URL: https://issues.apache.org/jira/browse/AMQ-3942
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.4.3, 5.6.0, 5.7.0
> Environment: Red Hat Enterprise Linux Server release 6.1 (Santiago)
> Reporter: Pedro de Lara
> Labels: expiration, timetolive, ttl
> Attachments: ExpirationTest.java, ExpirationTest.java, activemq.xml
>
>
> When sending messages to a queue and waiting for the expiration task to
> expire them, only some of the expired messages are moved to the DLQ. Other
> expired messages (With same expiration time as the ones moved to the DLQ)
> just sit in the queue, stuck until all messages in the queue expire, at which
> point they are all moved to the DLQ.
> This seems to happen only in the embedded broker (configured in activemq.xml)
> and only for some messages (It seems the size of the message however I am
> uncertain if the content could actually cause such an issue).
> A Unit Test is provided that shows the issue. The unit test includes a
> boolean that can be changed to run it towards a created broker (instead of
> the embedded one) for comparison purposes.
> An activemq configuration file (activemq.xml) is also provided as it is the
> only file that has been changed from default installation.
> Test were done on activeMQ running on both JDK 1.7.0_03 and 1.6.0_33 with the
> activemq executable script being pointed towards those versions (Instead of
> "auto").
--
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