Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-5297

PooledSession with lots of consumers can fail to start fully

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Invalid
    • Affects Version/s: 5.8.0
    • Fix Version/s: None
    • Component/s: JMS client, Pool
    • Labels:
      None
    • Environment:

      java version "1.7.0_51"
      Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

      Description

      We have a case where we are trying to startup 100s of camel routes and it appears to be causing an issue where the consumer is only partially started and the thread is stuck waiting for for the consumer to be fully created. The consumer appears to be created on the broker side so that it is getting messages enqueued and dispatched, just never serviced.

      Could this be due to our connection pool being too small? Could we avoid this problem with asyncSend?

      "Camel (AppsJVM) thread #28 - JmsConsumer[response.queue]" - Thread t@318
      java.lang.Thread.State: WAITING
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <ee029ee> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:374)
        at org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
        at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1380)
        at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1912)
        at org.apache.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:273)
        at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1144)
        at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1088)
        at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1001)
        at org.apache.activemq.pool.PooledSession.createConsumer(PooledSession.java:311)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:503)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:224)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:1094)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1070)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1063)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:960)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)

      Locked ownable synchronizers:

      • locked <4deb7015> (a java.util.concurrent.ThreadPoolExecutor$Worker)

      <bean id="JMSPooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">

      <property name="maxConnections" value="8" />

      <property name="maximumActiveSessionPerConnection" value="500" />
      <property name="idleTimeout" value="0" />
      <property name="connectionFactory" ref="JMSConnectionFactory" />
      </bean>

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              shendley Sam hendley
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: