You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hans Bausewein (JIRA)" <ji...@apache.org> on 2008/10/03 21:21:52 UTC
[jira] Issue Comment Edited: (AMQ-1950) Deadlock using temporary
queues in Pure Master/Slave setup
[ https://issues.apache.org/activemq/browse/AMQ-1950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46168#action_46168 ]
hansb edited comment on AMQ-1950 at 10/3/08 12:21 PM:
---------------------------------------------------------------
Surprising result (for me, at least) with the patched RC1(Sep 30) : it also happens when the MDB's are deployed as singleton.
I sent 50 messages at a time. Fine up to 200, so 4 times.
On the 5th it works as expected on the master, but the slave has:
|| queue || Pending || Received ||
| queue.ReplyA | 250 | 0 |
| queue.A | 50 | 200 |
| queue.B | 50 | 200 |
A stand-alone for a single bean is quite easy to make, if it's still necessary.
Have not tried the latest trunk, yet.
was (Author: hansb):
Surprising result (for me, at least) with the patched RC1(Sep 30) : it also happens when the MDB's are deployed as singleton.
I sent 50 messages at a time. Fine up to 200, so 4 times.
On the 5th it works as expected on the master, but the slave has:
queue pending Received
----------------------------------
queue.ReplyA: 250 0
queue.A 50 200
queue.B 50 200
A stand-alone for a single bean is quite easy to make, if it's still necessary.
Have not tried the latest trunk, yet.
> Deadlock using temporary queues in Pure Master/Slave setup
> ----------------------------------------------------------
>
> Key: AMQ-1950
> URL: https://issues.apache.org/activemq/browse/AMQ-1950
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.2.0
> Environment: JBoss 4.0.5 GA with ActiveMQ resource adapter and Java 1.6 update 7
> I used the ActiveMQ 5.2.0 RC1 from 10th september.
> Reporter: Hans Bausewein
> Assignee: Gary Tully
> Fix For: 5.3.0
>
> Attachments: amq-1950.patch.2.txt, deadlock.txt
>
>
> The deadlock occurs on the slave after sending some 30 messages. Sending a few at a time works fine.
> The test application is a MessageDrivenBean that sends a message to another MDB with a temporary reply queue.
> Name: TempQueue: ID:selten.marketxs.com-40254-1222245868043-0:14:6
> State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@f30862 owned by: VMTransport: vm://solow.marketxs.com#1
> Total blocked: 0 Total waited: 1
> Stack trace:
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
> org.apache.activemq.broker.region.Queue.iterate(Queue.java:992)
> - locked org.apache.activemq.broker.region.Queue$2@16b775f
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Name: VMTransport: vm://solow.marketxs.com#1
> State: BLOCKED on org.apache.activemq.broker.region.Queue$2@16b775f owned by: TempQueue: ID:selten.marketxs.com-40254-1222245868043-0:14:6
> Total blocked: 9 Total waited: 2,684
> Stack trace:
> org.apache.activemq.broker.region.Queue.iterate(Queue.java:952)
> org.apache.activemq.broker.region.Queue.wakeup(Queue.java:1136)
> org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:249)
> org.apache.activemq.broker.region.TempQueue.addSubscription(TempQueue.java:74)
> org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:275)
> - locked java.lang.Object@1ba2be8
> org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:378)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
> org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:83)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
> org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:93)
> org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:541)
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:345)
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> I'll try to reproduce the issue with a stand-alone JMS client. It also happens without JBoss clustering.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.