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

Gary Tully commented on AMQ-2286:
---------------------------------

ok, I think you need to reduce the memory available to the queues on all 
brokers and disable producerFlowControl. The prefetch value is applied to 
network subscriptions but if the remote broker can accept a message it will 
take it. Even with straight through processing, not having a consumer available 
to consume is not a problem unless the queue is memory constrained to block a 
send if there is no space.

So to ensure that 5000 messages don't build up in a slow broker, constrain the 
memory allocated to a queue such that it will only accept 10 or twenty messages 
and disableFlowControll so that a send will block. When that queue is full, 
because the consumers are slow, this will eventually push back to the network 
consumer with its small prefetch.


> NetworkConnector PrefetchSize
> -----------------------------
>
>                 Key: AMQ-2286
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2286
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: Sun solaris 10
>            Reporter: ying
>            Priority: Blocker
>
> I have an issue which greatly reduces the quality of service of a network of 
> activemq brokers.
> Here is what I have:
> 1. 4 brokers( broker1, broker2, broker3,  broker4) in a network by multicast 
> discovery
> 2. i have 2 consumers of QueueA on broker1, 2 consumers of QueueA on broker2, 
> and consumer queuePrefetch=1, networkConnector prefetchSize=1. Queue is using 
> RoundRobinDispatchPolicy
> 3. I publish to QueueA on broker3 with 100 msgs, 2 consumers on broker1 are 
> fast and they process fine but 2 consumers on broker2 are stuck. However, 
> with this config, msgs are still 50 goes to broker1, 50 goes to broker2, and 
> when consumers on broker2 get stuck, those 50 msgs are stuck on broker2. It 
> seems the prefetchSize=1 on networkConnector have no effect at all.
> what I expect in this case will be that 98 msgs shall go to broker1, and only 
> 2 msgs stuck on broker2's consumers. I cannot lose a single msg so 
> ConstantPendingMessageLimit will not help.
> Please help. Thanks

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