Uploaded image for project: 'ActiveMQ Apollo (Retired)'
  1. ActiveMQ Apollo (Retired)
  2. APLO-210

Sending persistent message to a durable subscription would eventually lockup producers.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 1.4
    • apollo-broker
    • None
    • apollo-99-trunk-20120519.032132-42

    Description

      One of our applications using Apollo seems to trigger a very severe bug inside the broker.

      The application is very simple: a few short lived producers that send a few messages to a single topic, disconnect and start again after some time, plus one or two long lived consumers using durable subscriptions. All this works fine initially but after some time (15 to 30 minutes, it depends), this stops working and the sent messages are not received anymore.

      On the surface, the broker seems to be working fine and other clients do work. However, the console reports weird statistics for the topic: the enqueued and dispatched counters do grow while dequeued does not change. Worse: the broker is in a bizarre state and cannot be stopped cleanly ("service apollo stop" yields to "Could not stop process PID") and only "kill -9" can get rid of it.

      I've tried to reproduce the problem with simple scripts and I could not. I suspect a concurrency problem between the concurrent producers and consumers.

      I will attach a stack dump of the broker when it is in this weird state. If this is not enough, we can give you access to the broker the next time this happens.

      Attachments

        1. apollo2.dump
          16 kB
          Lionel Cons
        2. apollo.dump
          17 kB
          Lionel Cons

        Activity

          People

            chirino Hiram R. Chirino
            lionel.cons Lionel Cons
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: