[
https://issues.apache.org/jira/browse/NIFI-5566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16609517#comment-16609517
]
ASF GitHub Bot commented on NIFI-5566:
--------------------------------------
Github user thenatog commented on the issue:
https://github.com/apache/nifi/pull/2983
How do "Fail when no attributes present" and "Missing attribute policy"
work?
Using your template, "CryptographicHashAttribute (New)" processor fails
files because the "static_sha256" attribute is not present.
"Fail when no attributes present" sounds like it implies that it will fail
if ALL attributes are not present, but it seems that it will fail if at least
one is not present. From this, I take it that "Missing attribute policy"
applies to null attributes and not attributes that are not present. I also
noticed that if "Fail when no attributes present" is false, it will pass to
success but none of the present attributes (say 2 out of 3 were present) will
be hashed.
I suggest maybe that these config properties could be combined into "If
missing attribute(s): { Route to Failure, Route to Success}", where missing
means either the attribute is null or not present. If it is configured as route
to success, it will still hash any present attributes that were configured.
> Bring HashContent inline with HashService and rename legacy components
> ----------------------------------------------------------------------
>
> Key: NIFI-5566
> URL: https://issues.apache.org/jira/browse/NIFI-5566
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: 1.7.1
> Reporter: Andy LoPresto
> Assignee: Andy LoPresto
> Priority: Major
> Labels: backwards-compatibility, hash, security
>
> As documented in [NIFI-5147|https://issues.apache.org/jira/browse/NIFI-5147]
> and [PR 2980|https://github.com/apache/nifi/pull/2980], the {{HashAttribute}}
> processor and {{HashContent}} processor are lacking some features, do not
> offer consistent algorithms across platforms, etc.
> I propose the following:
> * Rename {{HashAttribute}} (which does not provide the service of calculating
> a hash over one or more attributes) to {{HashAttributeLegacy}}
> * Renamed {{CalculateAttributeHash}} to {{HashAttribute}} to make semantic
> sense
> * Rename {{HashContent}} to {{HashContentLegacy}} for users who need obscure
> digest algorithms which may or may not have been offered on their platform
> * Implement a processor {{HashContent}} with similar semantics to the
> existing processor but with consistent algorithm offerings and using the
> common {{HashService}} offering
> With the new component versioning features provided as part of the flow
> versioning behavior, silently disrupting existing flows which use these
> processors is no longer a concern. Rather, Any flow currently using the
> existing processors will either:
> 1. continue normal operation
> 1. require flow manager interaction and provide documentation about the change
> 1. migration notes and upgrade instructions will be provided
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)