Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4413

Persistent message loss when JMS durable subscriber reconnects regardless of message store impl.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 5.7.0, 5.8.0
    • 5.9.0
    • None

    Description

      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

      Attached please find Test.java 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.

      Attachments

        1. AMQ4413Test.java
          8 kB
          Timothy A. Bish
        2. AMQ4413Test.java
          8 kB
          Timothy A. Bish
        3. AMQ4413-testcase.patch
          8 kB
          Christian Posta
        4. Test.java
          7 kB
          Jaewoong Choi

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            tabish Timothy A. Bish
            choijw1 Jaewoong Choi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment