You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Ashwin Karpe (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/03/09 16:42:57 UTC
[jira] [Issue Comment Edited] (CAMEL-5070) Message Loss when using
Weighted Round Robin LoadBalancer
[ https://issues.apache.org/jira/browse/CAMEL-5070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13226148#comment-13226148 ]
Ashwin Karpe edited comment on CAMEL-5070 at 3/9/12 3:41 PM:
-------------------------------------------------------------
Hi Nikos,
I can see the scenario you are mentioning happening under load where the counter and/or runtimeWeight may get out of synch under load...
I am however unclear on the queues growing without reason issue. Do you mean there are additional messages being created and dispatched to the queues.
Cheers,
Ashwin...
was (Author: akarpe):
Hi Nikos,
I can see the scenario you are mentioning happening under load where the counter may get out of synch under load...
I am however unclear on the queues growing without reason issue. Do you mean there are additional messages being created and dispatched to the queues.
Cheers,
Ashwin...
> Message Loss when using Weighted Round Robin LoadBalancer
> ---------------------------------------------------------
>
> Key: CAMEL-5070
> URL: https://issues.apache.org/jira/browse/CAMEL-5070
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.9.1
> Reporter: Nikolaos Dimos
> Assignee: Ashwin Karpe
> Attachments: loadbalancer-itest.zip
>
>
> chooseProcessor method accesses resources in a non synchronized fashion. This leads in errors during loadbalancing and as a result messages are lost. I have created a project that provides an integration test (using karaf 2.2.5 and a custom command to check messages of the activemq broker) with a custom weighted round robin loadbalancer that "seems" to solve the issue of lost messages.
>
> The problem with the provided solution is that when messages are dequeued from the second stage of queues (queues1, 2 and 3) in custom-loadbalancer-route subproject the jmsconsumer threads also block (checked this using profiler). I would expect only the jmsconsumer threads of the first queue (initial.queue) to block waiting for the synchronized chooseProcessor method. Any clues on why this happens?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira