[ 
https://issues.apache.org/jira/browse/NIFI-4752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark Payne updated NIFI-4752:
-----------------------------
    Assignee: Mark Payne
      Status: Patch Available  (was: Open)

> REPLAY events returned by WriteAheadProvenanceRepository have child FlowFile 
> UUID as event FlowFile UUID
> --------------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-4752
>                 URL: https://issues.apache.org/jira/browse/NIFI-4752
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.4.0
>            Reporter: Koji Kawamura
>            Assignee: Mark Payne
>
> The ['Provenance Events' 
> documentation|https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#provenance_events]
>  describes about REPLAY event as follows:
> {quote}
> Indicates a provenance event for replaying a FlowFile. The UUID of the event 
> indicates the UUID of the original FlowFile that is being replayed. The event 
> contains one Parent UUID that is also the UUID of the FlowFile that is being 
> replayed and one Child UUID that is the UUID of the a newly created FlowFile 
> that will be re-queued for processing
> {quote}
> The default PersistentProvenanceRepository behaves as written in the doc. But 
> WriteAheadProvenanceRepository returns REPLAY events having Child UUID as its 
> FlowFile UUID instead.
> Here is the lines of code that set FlowFile UUID for the provenance events.
> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/schema/LookupTableEventRecord.java#L276-L280
> {code}
>         String uuid = updatedAttributes == null ? null : 
> updatedAttributes.get(CoreAttributes.UUID.key());
>         if (uuid == null) {
>             uuid = previousAttributes == null ? null : 
> previousAttributes.get(CoreAttributes.UUID.key());
>         }
>         builder.setFlowFileUUID(uuid);
> {code}
> WriteAheadProvenanceRepository does not seem to have 'FlowFile UUID'  value 
> persisted, which is set by FlowController when replay events are registered. 
> Instead, WriteAheadProvenanceRepository fill 'FlowFile UUID' from updated or 
> previous 'UUID' attribute.



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

Reply via email to