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

ASF GitHub Bot commented on NIFI-5566:
--------------------------------------

Github user alopresto commented on the issue:

    https://github.com/apache/nifi/pull/2983
  
    Those attributes were added by @ottobackwards in the original PR for this 
issue. My understanding of the scenarios is as follows:
    
    **Flowfile A**
    *username*: `alopresto`
    *email*: `alopre...@apache.org`
    
    **Flowfile B**
    *username*: `alopresto`
    
    **Flowfile C**
    *no attributes*
    
    ### Processor Configuration 1 (Allow partial):
    
    **Fail when no attributes present**: `true`
    **Missing attribute policy**: `Allow missing attributes`
    
    **Flowfile A** -> *success*
    **Flowfile B** -> *success*
    **Flowfile C** -> *failure*
    
    ### Processor Configuration 2 (Fail on partial):
    
    **Fail when no attributes present**: `true`
    **Missing attribute policy**: `Fail if missing attributes`
    
    **Flowfile A** -> *success*
    **Flowfile B** -> *failure*
    **Flowfile C** -> *failure*
    
    ### Processor Configuration 3 (Allow empty):
    
    **Fail when no attributes present**: `false`
    **Missing attribute policy**: `Allow missing attributes`
    
    **Flowfile A** -> *success*
    **Flowfile B** -> *success*
    **Flowfile C** -> *success*
    
    ### Processor Configuration 4 (Allow empty but fail partial):
    
    **Fail when no attributes present**: `false`
    **Missing attribute policy**: `Fail if missing attributes`
    
    **Flowfile A** -> *success*
    **Flowfile B** -> *failure*
    **Flowfile C** -> *success*


> 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)

Reply via email to