[ 
https://issues.apache.org/activemq/browse/AMQ-2401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54412#action_54412
 ] 

Colin MacNaughton commented on AMQ-2401:
----------------------------------------

The attached unit test can be used to demonstrate two issues. If you set 
PRODUCER_COUNT=1 and CONSUMER_COUNT=1, and change the producer message size to 
1300 bytes. You can see that this will indeed produce a hang since the 
consumer's prefetch is 1000 and less than number fit into the queue. 

However, using the test as is unmodified (e.g. 50 producers, and a message size 
of 1024 doesn't result in a hang, but does result in a serious performance 
bottleneck. There is some sort of contention happening in the broker. This is 
the behavior that I was seeing in my original performance runs ... simply a 
sever slow down. 

> Hangs in fan-in to DUPS_OK_ACKNOWLEDGE queue receivers
> ------------------------------------------------------
>
>                 Key: AMQ-2401
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2401
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.0
>         Environment: Running with the following config:
> <destinationPolicy>
>  <policyMap>
>    <policyEntries>
>      <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">     
>                  
>        <pendingSubscriberPolicy>
>          <vmCursor/>
>        </pendingSubscriberPolicy>
>      </policyEntry>
>      <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"/>
>    </policyEntries>
>  </policyMap>
> </destinationPolicy>
>            Reporter: Colin MacNaughton
>         Attachments: AMQ2401.txt
>
>
> While running performance tests I I was seeing hangs in several tests  
> involving dups ok queue receivers. My suspicion is that this is related to 
> "too lazy" dups_ok acknowledgements. Changing the queue prefetchLimit to 100 
> caused this problem to go away. This needs more investigation, but it seems 
> like we can get ourselves in to trouble if the queue size is smaller than the 
> receiver's prefetchLimit, and this should be avoid. It is also possible that 
> there is something more complicated happening in my tests. I haven't yet been 
> able to reproduce this outside my performance test environment. 

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

Reply via email to