ActiveMQ
  1. ActiveMQ
  2. AMQ-2053

AMQMessageStore.flushLatch can apparently get stuck

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.0
    • Fix Version/s: 5.3.0
    • Component/s: Broker
    • Labels:
      None

      Description

      A couple hours into the tck I see everything freeze. Looking at the threads there are a lot of waits on Queue.dispatchLock in addSubscription but one thread made it through to AMQMessageStore and is waiting at line 316 in flush on the countdown latch.

      Only problem I can see causing this so far is the countdown in asyncWrite not being in a finally block. I don't see any exceptions in the log.... so not sure yet.

        Activity

        Hide
        David Jencks added a comment -

        New methods introduced in rev 732259.

        Show
        David Jencks added a comment - New methods introduced in rev 732259.
        Hide
        David Jencks added a comment -

        Fix for AMQ-1842 introduced this problem... message stores were closed (good) but not removed from persistence adapter cache (bad)

        Show
        David Jencks added a comment - Fix for AMQ-1842 introduced this problem... message stores were closed (good) but not removed from persistence adapter cache (bad)
        Hide
        David Jencks added a comment -

        Problem is that the AMQMessageStore is closed but not removed from the cache inside the PersistenceAdapter. Next time a Queue (or Topic) is created it gets the stopped and unusable message store from the cache.

        After chatting with Hiram on the dev list I think introducing methods to remove the message store from the persistence adapter is the best way forward.

        Looking at svn history this problem was introduced in the fix for AMQ-1842, rev 729939, where the calls to stop the MessageStore were introduced.

        Show
        David Jencks added a comment - Problem is that the AMQMessageStore is closed but not removed from the cache inside the PersistenceAdapter. Next time a Queue (or Topic) is created it gets the stopped and unusable message store from the cache. After chatting with Hiram on the dev list I think introducing methods to remove the message store from the persistence adapter is the best way forward. Looking at svn history this problem was introduced in the fix for AMQ-1842 , rev 729939, where the calls to stop the MessageStore were introduced.

          People

          • Assignee:
            David Jencks
            Reporter:
            David Jencks
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development