Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-12441

MulticastProcessor doProcessParallel blocks indefinitly if exception occurs in it.next()

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.20.3, 2.21.0
    • Fix Version/s: 2.20.4, 2.21.1, 2.22.0
    • Component/s: camel-core
    • Labels:
      None
    • Environment:

      Windows 8, java 1.8.0_162, camel 2.21.0

    • Estimated Complexity:
      Unknown

      Description

      After upgrading from camel 2.17.5 to 2.21.0 the following problem was encountered:

      Context:
      A camel RouteBuilder with a split :

      MyRouteBuilder.java
      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());
          } 
      }
      

      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.

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              shellysoft Bodor Maria Mihaela
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: