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

Deadlock or Performance Bottleneck when reading messages with Correlation


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 5.3.1, 5.3.2, 5.4.0, 5.4.1
    • Fix Version/s: NEEDS_REVIEW
    • Component/s: Broker
    • Labels:
    • Environment:

      Java 64-bit, Windows 2008 Server, Centos 5 64bit, Ubuntu 110 64-bit, OS X 10.5, 10.6


      We have a situation where we are posting messages to a queue with two different correlation ids specifically intended to reach two different clients who subscribe with message selectors for the appropriate correlation. The clients are reading with message listeners. When one client stops reading the expected behavior, and the behavior we saw on 5.3.0, is that the messages with the correlation for the stopped client will backup on the queue and will not effect the performance of the second client who is still reading the messages with the other correlation. With our memory config messages can backup into the hundreds of thousands before noticing any performance impact on the active client.

      However this is not the case in 5.3.1 or 5.3.2. With 5.3.1 once enough messages backup for the stopped client, suddenly the active client's performance drops drastically 20 ms reads to 30,000ms reads. We will see this within a few hundred messages. I believe there is some kind of deadlock, or buffering bottleneck that was introduced on the client side.


        1. activemq.xml
          5 kB
          Brad Willard
        2. PutMessages.java
          2 kB
          Brad Willard
        3. ReadMessages.java
          2 kB
          Brad Willard
        4. activemq.xml
          5 kB
          Brad Willard

          Issue Links



              • Assignee:
                odysseyfx Brad Willard
              • Votes:
                1 Vote for this issue
                3 Start watching this issue


                • Created: