camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From apara <ap...@standardset.com>
Subject LoadBalancer seems to be doing some sort of throttling
Date Thu, 21 May 2015 20:01:29 GMT
I am using Camel 2.15.1.

I have a route defined like this:

        from(
            vmAsyncEndpoint 
//vm://async.handle.event?blockWhenFull=true&size=40000
        )
        .routeId(vmAsyncEndpoint.getEndpointUri())
        .startupOrder(order())
        .loadBalance()
        .sticky(
            simple("${body.partitionKey}")
        )
        .inOnly(
            makePipelineRoutes(
                "pipeline"
            )
        );

The pipeline routes are defined as (pipeline 12 for example):
vm://pipeline_12?blockWhenFull=true&pollTimeout=1000&size=1000

I am seeing that the queue for the load balancer gets full at 40K, however,
the queues for the pipelines do not go above 200 (1000 is max) and it really
takes them a while to get there.  None of the queues are at 1000 (which
would cause the loadBalance to block).  When I observe via JMX, at the start
of the application the queues are at 5 or 2 or mostly ZERO.

Via JMX I see that Pipelines are defined with ConcurrentConsumers is 1,
CurrentQueueSize is 10 which is correct.

So, I am not sure why the load balancer would just not unload as much as it
can out of it's collection of 40,000 entries?  Is there some sort of
throttling that the load balancer is doing in addition to being sticky?

Thanks
-AP_








--
View this message in context: http://camel.465427.n5.nabble.com/LoadBalancer-seems-to-be-doing-some-sort-of-throttling-tp5767401.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message