Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-5070

Message Loss when using Weighted Round Robin LoadBalancer

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.9.1
    • 2.8.5, 2.9.2, 2.10.0
    • camel-core
    • None
    • Unknown

    Description

      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?

      Attachments

        1. loadbalancer-itest.zip
          23 kB
          Nikolaos Dimos

        Activity

          People

            akarpe Ashwin J. Karpe
            nikosd23 Nikolaos Dimos
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: