activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Bram (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQ-1265) client setMessageListener for queue hangs when one queue contains 50+ messages and after broker restart setMessageListener calls for 4 queue are called
Date Tue, 05 Jun 2007 12:55:32 GMT
client setMessageListener for queue hangs when one queue contains 50+ messages and after broker
restart setMessageListener calls for 4 queue are called
-------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: AMQ-1265
                 URL: https://issues.apache.org/activemq/browse/AMQ-1265
             Project: ActiveMQ
          Issue Type: Bug
          Components: JMS client, Transport
    Affects Versions: 4.0.2, 4.0.1, 4.1.1
         Environment: 4 queues:
SMF.OUT
ID.OUT
MD.OUT
MKLIST.OUT

client side: 
Solaris - SunOS hostname 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-V215
java version:
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Server VM (build 1.5.0_11-b03, mixed mode)

server: tested with same as client and windows XP SP2
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode)

both client and server: ActiveMQ version 4.0.1 - 4.0.2 - 4.1.1


            Reporter: Daniel Bram


A JMS client connections hangs when subscribing to queue that is filled with a small number
of messages: 50+.
The messages have been produced before shutting down the message broker (bin\activemq.bat
process), at that time the queue consumer was not connected.

Subscribing to 4 queues produces the problem.  When the queue is cleared, the problem goes
away (by subscribing to only one queue for example).

ActiveMQMessageConsumer.setMessageListener
freezes on line 329
session.stop();

IntelliJ debug screen: (at the next step the wait statement freezes the client connection).
pool-1-thread-1@10f, priority=5, in group 'main', status: 'RUNNING'
	  shutdown():87, PooledTaskRunner.java
	  stop():113, ActiveMQSessionExecutor.java
	  stop():1469, ActiveMQSession.java
	  setMessageListener():329, ActiveMQMessageConsumer.java
	  registerHandler():112, AbstractJMSMessagingServiceImpl.java
	  registerHandlerByAlias():134, ActiveMQMessagingServiceImpl.java
	  initMessagingHandler():412, AdapterDeployer.java
	  initAdapterHandlers():341, AdapterDeployer.java
	  run():139, AdapterDeployer.java
	  call():442, Executors.java
	  run():176, FutureTask.java
	  access$101():138, ScheduledThreadPoolExecutor.java
	  run():237, ScheduledThreadPoolExecutor.java
	  runWorker():987, ThreadPoolExecutor.java
	  run():528, ThreadPoolExecutor.java
	  run():595, Thread.java

When watching the debug session, the boolean variable "iterating" is set to true in PooledTaskRunner.java
for the blocking setMessageListener call.  The other non blocking setMessageListeners have
their iteration boolean set to false.  Does the fact that one queue contains message set this
to true maybe ?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message