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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content