You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2018/04/16 08:33:00 UTC
[jira] [Resolved] (CAMEL-12441) MulticastProcessor
doProcessParallel blocks indefinitly if exception occurs in it.next()
[ https://issues.apache.org/jira/browse/CAMEL-12441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-12441.
---------------------------------
Resolution: Fixed
Thanks for the sample project.
> MulticastProcessor doProcessParallel blocks indefinitly if exception occurs in it.next()
> ----------------------------------------------------------------------------------------
>
> Key: CAMEL-12441
> URL: https://issues.apache.org/jira/browse/CAMEL-12441
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.20.3, 2.21.0
> Environment: Windows 8, java 1.8.0_162, camel 2.21.0
> Reporter: Bodor Maria Mihaela
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 2.20.4, 2.21.1, 2.22.0
>
>
> After upgrading from camel 2.17.5 to 2.21.0 the following problem was encountered:
> Context:
> A camel RouteBuilder with a split :
> {code:title=MyRouteBuilder.java|borderStyle=solid}
> public class MyRouteBuilder extends RouteBuilder {
> @Override
> public void configure() throws Exception {
> from("direct:in")
> .split()
> .xtokenize("//someTocken", 'i', NAMESPACES)
> .aggregationStrategy(nw UseLatestAggregationStrategy())
> .stopOnException()
> .parallelAggregate()
> .parallelProcessing()
> .executorServiceRef("splitExecutorService").stopOnException()
> .streaming().stopOnException()
> .id("xml-splitter")
> .to("direct:out")
> .routeId(getClass().getSimpleName());
> }
> }
> {code}
> Problem encountered:
> A malformed xml arrives on this route. it.hasNext() returns true but it.next() throws an exception. This causes an indefinite wait in MulticastProcessor at line 374.
> Reason:
> A call to countDown on aggregationOnTheFlyDone is never performed and thus the latch waits indefinitely.
> Possible solution:
> A call to aggregationOnTheFlyDone .countDown inside the catch corresponding to the try surrounding the while.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)