activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Commented] (AMQ-4413) Persistent message loss when JMS durable subscriber reconnects regardless of message store impl.
Date Thu, 16 May 2013 10:19:16 GMT


Gary Tully commented on AMQ-4413:

@Jaewoong - a reconnect does a little bit more work when keepDurableSubsActive=false but durability
of messages is not effected. The messages were not actually lost, they were not dispatched.

> Persistent message loss when JMS durable subscriber reconnects regardless of message
store impl.
> ------------------------------------------------------------------------------------------------
>                 Key: AMQ-4413
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, JMS client, Message Store
>    Affects Versions: 5.7.0, 5.8.0
>            Reporter: Jaewoong Choi
>            Assignee: Timothy Bish
>            Priority: Critical
>             Fix For: 5.9.0
>         Attachments: AMQ4413-testcase.patch,,,
> Persistent message is lost intermittently when JMS durable topic subscriber reconnects
to the broker service.  From the log observation, it seems that the internal states of the
store cursor (i.e. AbstractStoreCursor) is not well guarded by race condition between message
sending/directly-dispatching-pending thread (from publisher) and subscription deactivating
thread (from subscriber's closing), especially when subscriber's closing (javax.jms.MessageConsumer#close)
and message publishing happen simultaneously.
> Observations and the test scenario are described at below in detail:
> Attached please find that I used to verify this issue.  I found the issue initially
with activemq-core-5.7.0.jar then confirmed that it's reproducible with other upper versions
(i.e. apache-activemq-5.8-SNAPSHOT, apache-activemq-5.9-SNAPSHOT).
> This "message loss" issue is pretty critical as it can happen whenever durable subscriber
reconnects either purposely or unexpectedly, and it could be violating the one of primitive
features that messaging platform guarantees: "no message loss",  if happens, whereas it's
so easy to reproduce the trouble.

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

View raw message