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

Throttler and Delay EIP will invoke done callback twice if using async delayed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.7.4, 2.8.3
    • 2.7.5, 2.8.4, 2.9.0
    • camel-core
    • None
    • Unknown

    Description

      If using async delayed on Throttler or Delay EIP, then a 2nd done on the callback is invoked, which should not happen. As the Camel routing engine, is invoking the done as well.

      The 2nd done can cause what would appear as a routing error as a NPE occurs in the error handler, as the exchange is already done, and some cleanup work have occurred.

      java.lang.NullPointerException
      	at org.apache.camel.processor.RedeliveryErrorHandler.processAsyncErrorHandler(RedeliveryErrorHandler.java:387)
      	at org.apache.camel.processor.RedeliveryErrorHandler$1.done(RedeliveryErrorHandler.java:336)
      	at org.apache.camel.processor.interceptor.Debug$1$1.done(Debug.java:56)
      	at org.apache.camel.processor.interceptor.TraceInterceptor$1.done(TraceInterceptor.java:188)
      	at org.apache.camel.impl.ProducerCache$1.done(ProducerCache.java:307)
      ...
      

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            davsclaus Claus Ibsen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: