Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7.4, 2.8.3
-
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) ...