Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.2.0, 1.12.1
Description
When catching a ProcessException while trying to export Flow File contents to an HTTP output stream, the HandleHttpResponse Processor will attempt to call HttpContextMap.complete() in order to finish processing the HTTP transaction. If the HTTP Context Identifier is no longer present in the HttpContextMap or if the HTTP client associated with the transaction has already terminated the connection, HttpContextMap.complete() will throw an IllegalStateException or some other type of RuntimeException. When this occurs, HandleHttpResponse falls back to administratively yielding and does not route the Flow File to the failure relationship. The end result is that Flow Files associated with closed HTTP connections remain queued.
The other call to HttpContextMap.complete() already handles an IllegalStateException so both calls should be handled in the same way to avoid leaving files in the queue.