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

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

Github user markap14 commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2056#discussion_r143371633
  
    --- Diff: 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
 ---
    @@ -173,4 +174,19 @@ public long getBinAge() {
             final long ageInNanos = System.nanoTime() - creationMomentEpochNs;
             return TimeUnit.MILLISECONDS.convert(ageInNanos, 
TimeUnit.NANOSECONDS);
         }
    +
    +    /**
    +     * @return the UUID of the flow file generated by the merge of this 
bin's content
    +     */
    +    public String getUuid() {
    +        return uuid;
    +    }
    +
    +    /**
    +     * Set the UUID of the flow file generated by the merge of this bin's 
content
    +     * @param uuid UUID to set
    +     */
    +    public void setUuid(String uuid) {
    --- End diff --
    
    I'm a bit concerned about this approach as well... As is, in this PR, the 
abstract class is assuming that this UUID has been set by the concrete 
implementation. If it is not, then it will throw a NPE, I do believe, from 
looking at the code. We definitely need to address that. I do believe that a 
cleaner way may be possible, but off the top of my head i don't have one. I'd 
have to look at the code more. I'll be out of town for the next week, without 
my computer. But I'd be happy to look into this a bit more when I can, if you 
guys haven't resolved this by that time.


> MergeContent - option to add merged uuid in original flow files
> ---------------------------------------------------------------
>
>                 Key: NIFI-4262
>                 URL: https://issues.apache.org/jira/browse/NIFI-4262
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Pierre Villard
>            Assignee: Pierre Villard
>
> With the apparition of Wait/Notify processors it is now possible tackle new 
> challenges when it comes to synchronize the execution of different parts of 
> the workflow.
> The objective here is the following:
> Flow files are sent to a MergeContent processor. Merged flow files are then 
> sent to a processor A while original flow files are sent to a processor B. I 
> want to trigger processor B when and only when processor A has completed.
> To use the Wait/Notify approach, a common attribute must be available to be 
> used as a signal in the distributed cache. This JIRA is about adding a 
> processor property allowing a user to add the UUID of the merged flow file as 
> a new attribute of all the original flow files that are constituting the 
> merged flow file.
> The template attached to NIFI-4028 can be used for this use case. Note that 
> the fix for NIFI-4028 is needed to solve the use case described in this JIRA.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to