activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jaewoong Choi (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-4413) Persistent message loss when JMS durable subscriber reconnects regardless of message store impl.
Date Thu, 28 Mar 2013 00:05:15 GMT
Jaewoong Choi created AMQ-4413:
----------------------------------

             Summary: Persistent message loss when JMS durable subscriber reconnects regardless
of message store impl.
                 Key: AMQ-4413
                 URL: https://issues.apache.org/jira/browse/AMQ-4413
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, JMS client, Message Store
    Affects Versions: 5.8.0, 5.7.0
            Reporter: Jaewoong Choi
            Priority: Critical


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:
http://activemq.2283324.n4.nabble.com/persistent-message-missing-to-a-durable-subscriber-when-it-reconnects-restarts-td4665130.html

I have a simple Test.java file that I used to verify this issue (I'll attach this file). 
I encountered this problem 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's  violating the one of primitive features
that messaging platform guarantees when it 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: http://www.atlassian.com/software/jira

Mime
View raw message