You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Arpad Boda (Jira)" <ji...@apache.org> on 2022/11/23 21:34:00 UTC

[jira] [Comment Edited] (MINIFICPP-1994) Missing "failure", "retry" relationships for PutSql processor (and other processors)

    [ https://issues.apache.org/jira/browse/MINIFICPP-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17637960#comment-17637960 ] 

Arpad Boda edited comment on MINIFICPP-1994 at 11/23/22 9:33 PM:
-----------------------------------------------------------------

Hello [~akondakov] ,

Thanks for your valuable inputs!

Agreed in the second part, the SQL processors definitely need these relationships, we will address that. 

As you seem to be familiar with the manifest, let me recommend some things worth checking in that:

In case a processor has "INPUT_FORBIDDEN" requirement, that means that the given processor is a source (usually the ones that match list* or get* or consume*), so those don't need failure relationship. They just create a flowfile based on the data they receive, no flowfile is processed, so the processing can't go wrong. 

There are some that rely on internal things only (logattribute, extracttext), there is nothing to fail there. 

RouteOnAttribute has different relationships (matched/unmatched)

FetchSFTP has different error relationships (comm. failure, not found, permissions denied to help differentiating retry and non-retry errors)

ExecuteProcess seems to be a good spot as well, that definitely needs failure relationship! Thanks!

In general, a processor with allowed (or required) inputs and only success relationship is a bad smell, except logattribute and extracttext. 


was (Author: aboda):
Hello [~akondakov] ,

Thanks for your valuable inputs!

Agreed in the second part, the SQL processors definitely need these relationships, we will address that. 

As you seem to be familiar with the manifest, let me recommend some things worth checking in that:

In case a processor has "INPUT_FORBIDDEN" requirement, that means that the given processor is a source (usually the ones that match list* or get* or consume*), so those don't need failure relationship. They just create a flowfile based on the data they receive, no flowfile is processed, so the processing can't go wrong. 

There are some that rely on internal things only (logattribute, extracttext), there is nothing to fail there. 

RouteOnAttribute has different attributes (matched/unmatched)

FetchSFTP has different error relationships (comm. failure, not found, permissions denied to help differentiating retry and non-retry errors)

ExecuteProcess seems to be a good spot as well, that definitely needs failure relationship! Thanks!

In general, a processor with allowed (or required) inputs and only success relationship is a bad smell, except logattribute and extracttext. 

> Missing "failure", "retry" relationships for PutSql processor (and other processors)
> ------------------------------------------------------------------------------------
>
>                 Key: MINIFICPP-1994
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1994
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: New Feature
>            Reporter: Kondakov Artem
>            Assignee: Adam Debreceni
>            Priority: Major
>
> According to the manifest, sent by minifi, PutSql processors (and many others) do not have a failure relationship, while in the apache / nifi project similar processors have it.
> I think maintaining these relationships is important.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)