Bodor Maria Mihaela created CAMEL-12441:
-------------------------------------------

             Summary: 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.21.0, 2.20.3, 2.20.2, 2.20.1, 2.20.0, 2.19.5
         Environment: Windows 8, java 1.8.0_162, camel 2.21.0
            Reporter: Bodor Maria Mihaela
             Fix For: 2.21.1


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)

Reply via email to