You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Jeremy Ross (Jira)" <ji...@apache.org> on 2021/10/29 18:24:00 UTC

[jira] [Commented] (CAMEL-17144) Split with aggregation strategy does not wait all substasks to be completed

    [ https://issues.apache.org/jira/browse/CAMEL-17144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17436132#comment-17436132 ] 

Jeremy Ross commented on CAMEL-17144:
-------------------------------------

I've noticed a similar thing with scheduler and timer. It's possible there's some bug here, but setting your scheduler to greedy=false is a workaround.

> Split with aggregation strategy does not wait all substasks to be completed
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-17144
>                 URL: https://issues.apache.org/jira/browse/CAMEL-17144
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 3.0.0, 3.12.0
>            Reporter: Thomas Sergent
>            Priority: Major
>         Attachments: test-camel-scheduler.zip
>
>
> Hi after trying to update from camel 2.25.4 to 3.12 I have a trouble with the usage of the split with parallelProcessing enabled. I cannot share my project but here is a little sample to reproduce the issue. 
>  
> {code:java}
> from("scheduler:testBug?initialDelay=1000&useFixedDelay=true&delay=5000&greedy=true")
> 		.to("direct:test");
> from("direct:test")
> 		.log("Before the processor the body must be empty : [${body}]")
> 		.process((exchange) -> {
> 			exchange.getIn().setBody(IntStream.range(0, 10).mapToObj(i -> "" + i).collect(Collectors.toList()));
> 		})
> 		.log("Exchange updated number form 0 to 9 : [${body}]")
> 		.split(body())
> 				.parallelProcessing(true)
> 				.log("The child exchange: ${body}")
> 		.end()
> 		.log("Split done: [${body}]")
> 		.setProperty(Exchange.SCHEDULER_POLLED_MESSAGES, simple("false"));
> {code}
>  
> With camel 2.25.X the expected behavior (to process each split before returning to the caller) is ok but not with the 3.X where the process loop indefinillty. 
>  
> Note: I have added a kill switch to avoid process to be hanged. 



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