You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "David Handermann (Jira)" <ji...@apache.org> on 2026/01/05 14:23:00 UTC
[jira] [Commented] (NIFI-15424) InvokeHTTPProcessor: Add dedicated relationship for Java exceptions (transport/runtime) instead of routing to failure
[ https://issues.apache.org/jira/browse/NIFI-15424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18049855#comment-18049855 ]
David Handermann commented on NIFI-15424:
-----------------------------------------
Thanks for proposing this change [~yuanhao.zhu].
It is important to retain some level of distinction between Java exceptions and relationships, although there may be direct correlation at some points. One primary reason for this is to avoid coupling Processor implementation too tightly to a particular Java library.
With that background, however, there may be an opportunity for refining certain types of failure behavior. The {{Failure}} relationship is intended to handle exceptions related to socket communication, so if it is also being used for certain HTTP response failures, I can see how that would be confusing.
Can you provide a particular example where an HTTP response processing issue is being routed to the Failure relationship? It would be ideal if this could be reproduced from a public URL, but if not, at least providing some detailed information with the exception stack trace would be useful in considering next steps.
> InvokeHTTPProcessor: Add dedicated relationship for Java exceptions (transport/runtime) instead of routing to failure
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: NIFI-15424
> URL: https://issues.apache.org/jira/browse/NIFI-15424
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Reporter: Yuanhao Zhu
> Priority: Major
> Original Estimate: 20m
> Remaining Estimate: 20m
>
> *Problem*
> Today, if {{InvokeHTTP}} throws a Java exception during the HTTP call (e.g. network interruption, DNS failure, connect reset/timeout), it routes the FlowFile to the existing error/failure relationship and sets:
> * {{invokehttp.java.exception.class}}
> * {{invokehttp.java.exception.message}}
> This mixes “HTTP response failures” with “request didn’t complete due to Java/transport exception”, making downstream handling (retry/alerting) messy.
> *Proposal*
> Add a dedicated relationship, e.g. {{{}java_exception{}}}, and route FlowFiles there when the HTTP call fails due to a Java exception (no valid HTTP response obtained). Keep existing relationships unchanged for normal HTTP outcomes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)