[
https://issues.apache.org/jira/browse/NIFI-1814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15274366#comment-15274366
]
ASF GitHub Bot commented on NIFI-1814:
--------------------------------------
Github user JPercivall commented on a diff in the pull request:
https://github.com/apache/nifi/pull/382#discussion_r62359332
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpResponse.java
---
@@ -155,9 +155,9 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
try {
session.exportTo(flowFile, response.getOutputStream());
response.flushBuffer();
- } catch (final IOException ioe) {
+ } catch (final Exception e) {
--- End diff --
Thinking through this a bit more, catching Exception is probably
appropriate. Typically you want to not blanket catch when creating framework
level code but this needs to be hardened to anything that may happen when
responding.
I am good with how it is now.
> HandleHTTPResponse processor exceptions when connection is closed
> -----------------------------------------------------------------
>
> Key: NIFI-1814
> URL: https://issues.apache.org/jira/browse/NIFI-1814
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 0.6.1
> Environment: Centos 6
> Reporter: Sam Hjelmfelt
> Assignee: Pierre Villard
> Priority: Blocker
>
> If a HTTP connection is closed before a response is sent, the
> HandleHTTPResponse processor will throw an exception, yield due to failure,
> then try processing the rest of the events. If multiple errors happen at
> once, this compounded delay can cause cascading issues as the other
> connections timeout and close.
> Instead, the exception should be caught and the flowfile should go to the
> error relationship. A closed connection should not fail the processor, but
> instead fail the flowfile.
> Exception:
> HandleHttpResponse[id=cca1576b-5841-3fc1-b05a-5fd0f4853cb7] failed to process
> session due to org.apache.nifi.processor.exception.FlowFileAccessException:
> Failed to export
> StandardFlowFileRecord[uuid=febaedb5-4830-46b7-b0f9-71b453a4743c,claim=StandardContentClaim
> [resourceClaim=StandardResourceClaim[id=1461688143223-3, container=contS2R1,
> section=3], offset=999718,
> length=999718],offset=0,name=1628795866820216,size=999718] to
> HttpOutput@28849fc{OPEN} due to org.eclipse.jetty.io.EofException:
> org.apache.nifi.processor.exception.FlowFileAccessException: Failed to export
> StandardFlowFileRecord[uuid=febaedb5-4830-46b7-b0f9-71b453a4743c,claim=StandardContentClaim
> [resourceClaim=StandardResourceClaim[id=1461688143223-3, container=contS2R1,
> section=3], offset=999718,
> length=999718],offset=0,name=1628795866820216,size=999718] to
> HttpOutput@28849fc{OPEN} due to org.eclipse.jetty.io.EofException
> Processor Administratively Yielded for 1 sec due to processing failure
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)