JMS becomes unresponsive with threads waiting for MessagingPostOffice's ReaderLock
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.