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/


Reply via email to