Jeremy Ross created CAMEL-17162:
-----------------------------------

             Summary: greedy scheduler is too greedy
                 Key: CAMEL-17162
                 URL: https://issues.apache.org/jira/browse/CAMEL-17162
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 3.12.0
            Reporter: Jeremy Ross


If a greedy scheduler has a downstream split or multicast with 
parallelProcessing=true, it appears to short circuit inflight exchanges and 
rapid fire new exchanges. This despite the fact that it has a thread pool size 
of 1.

Reproducer: 
[https://github.com/jeremyross/splittest|https://github.com/jeremyross/splittest]

{code:java}
from("scheduler:testBug?initialDelay=1000&useFixedDelay=true&delay=60000&greedy=true")
    .setHeader("parentExchangeId", simple("${exchangeId}"))
    .log("${header.parentExchangeId}-${date:now:yyyy-MM-dd'T'HH:mm:ss.SSS}: " +
            "Before the processor the body must be empty : [${body}]")
    .multicast().parallelProcessing()
        .log("test")
    .end()
    .log("${header.parentExchangeId}-${date:now:yyyy-MM-dd'T'HH:mm:ss.SSS}: " +
            "Split done: [${body}]")

    // this should result in the scheduler waiting its delay period before 
sending
    // another exchange
    .setProperty(Exchange.SCHEDULER_POLLED_MESSAGES, constant(false))
    .to("mock:parentComplete");
{code}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to