activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claudio Corsi <clco...@yahoo.com>
Subject Re: 5.5.1 ActiveMQ freezes, why ?
Date Thu, 13 Sep 2012 02:10:34 GMT
Oleg,

You can change the default value of 2000 by adding the broker.asyncQueueDepth parameter to
your vm transport definition.  In your case, you would need to include the definition of
the vm transport as part of your activemq configuration file.  Take a look at the following
web page.  

http://activemq.apache.org/vm-transport-reference.html

The real question here is why are you exhausting the queue size?  Increasing the limit might
solve this issue in the short term but in the long term you need to understand why you are
exhausting you queue limit.

--Claudio





>________________________________
> From: Oleg Dulin <oleg.dulin@gmail.com>
>To: users@activemq.apache.org 
>Sent: Tuesday, September 11, 2012 2:35 PM
>Subject: Re: 5.5.1 ActiveMQ freezes, why ?
> 
>This seems to be related to the 2000 limit on the linkedblockingqueue inside of VMTransport…
>
>Where is this configured ?
>
>
>
>On 2012-09-11 18:23:56 +0000, Oleg Dulin said:
>
>> Here is the stack trace:
>> 
>> One thread:
>> 
>> Name: LS:IndexItemQueue:2
>> State: BLOCKED on java.lang.Object@699b7e6 owned by: LS:IndexItemQueue:8
>> Total blocked: 42,886  Total waited: 27,663
>> 
>> Stack trace:
>>  org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1698)
>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)

>> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)

>> 
>> The other thread:
>> 
>> ame: LS:IndexItemQueue:8
>> State: WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@55f8606c

>> Total blocked: 32,969  Total waited: 20,914
>> 
>> Stack trace:
>>  sun.misc.Unsafe.park(Native Method)
>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)

>> java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:306)
>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:94)
>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
>>    - locked java.lang.Object@6e0f1ea9
>> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)

>> org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1265)

>> 
>> 
>> Here is my config:
>> 
>>         <broker xmlns="http://activemq.apache.org/schema/core"
>>                 brokerName="localhost" dataDirectory="./activemq-data"
>>                 destroyApplicationContextOnStop="true" persistent="true"
useJmx="true">
>> ...
>>                <destinationPolicy>
>>                         <policyMap>
>>                                 <policyEntries>
>>                                         <policyEntry topic=">"
producerFlowControl="false"
>>                                                 memoryLimit="512mb">
>>                                                 <!-- pendingSubscriberPolicy>
>>                                                       
 <fileCursor />
>>                                                 </pendingSubscriberPolicy
-->
>>                                         </policyEntry>
>>                                         <policyEntry queue=">"
producerFlowControl="false"
>>                                                 memoryLimit="512mb">
>>                                                 <!-- Use
VM cursor for better latency For more information, see: http://activemq.apache.org/message-cursors.html
-->
>>                                                 <!-- pendingQueuePolicy>
>>                                                       
 <fileQueueCursor />
>>                                                 </pendingQueuePolicy
-->
>>                                         </policyEntry>
>>                                 </policyEntries>
>>                         </policyMap>
>>                 </destinationPolicy>
>> …
>>  <networkConnectors>
>>                         <networkConnector name="connector2.2"
>>                                 uri="static:(tcp://.……:3000)"
/>
>>                 </networkConnectors>
>> 
>> 
>>                 <persistenceAdapter>
>>                         <kahaDB directory="${activemq.base}/activemq-data/kahadb"
/>
>>                 </persistenceAdapter>
>> 
>> 
>> Any ideas ?
>
>
>-- Regards,
>Oleg Dulin
>NYC Java Big Data Engineer
>http://www.olegdulin.com/
>
>
>
>
>
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message