You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Nikolaos Dimos (Commented) (JIRA)" <ji...@apache.org> on 2012/03/08 18:15:58 UTC

[jira] [Commented] (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=13225315#comment-13225315 ] 

Nikolaos Dimos commented on CAMEL-5070:
---------------------------------------

You can reproduce the problem by uncommenting the weightedRoundRobin line in the custom-loadbalancer-route subproject (and commenting of course the custom). The custom karaf command that was implemented (queue:broker-info) provides the following information QName|QConsumerCount|QSize|QEnqueueCount|QDequeueCount.
                
> 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
>         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