activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin MacNaughton (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-2401) Hangs in fan-in to DUPS_OK_ACKNOWLEDGE queue receivers
Date Tue, 22 Sep 2009 03:08:52 GMT

    [ 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.


Mime
View raw message