JMS becomes unresponsive with threads waiting for MessagingPostOffice's ReaderLock

Solution Verified - Updated -

Issue

  • Our JBoss messaging server becomes unresponsive.  The thread dumps show threads waiting to acquire MessagingPostOffice's ReaderLock, for example:

        "WorkerThread#18[127.0.0.1:1059]" prio=10 tid=0x000000005d766000 nid=0x1000 in Object.wait() [0x0000000048aea000]
           java.lang.Thread.State: WAITING (on object monitor)
             at java.lang.Object.wait(Native Method)
             - waiting on <0x00000000a4665e50> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock)
             at java.lang.Object.wait(Object.java:485)
             at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.acquire(WriterPreferenceReadWriteLock.java:163)
             - locked <0x00000000a4665e50> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock)
             at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.getBindingForQueueName(MessagingPostOffice.java:574)
    

    Other threads can get backed up behind these as well leading to widespread unresponsiveness.

Environment

  • Red Hat JBoss Enterprise Application Platform
    • JBoss Messaging
    • JBoss Remoting

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.