You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Nissim Shiman (Jira)" <ji...@apache.org> on 2020/02/04 21:00:00 UTC

[jira] [Commented] (NIFI-6851) Improve Provenance RECEIVE and FETCH events to allow for specifics on how flowfile was RECEIVE'ed/FETCH'ed

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

Nissim Shiman commented on NIFI-6851:
-------------------------------------

Regarding [~joewitt] 's question:
"would provenance events generated by an older nifi version be read by this one? And would provenance events written by this one be readable by an older nifi? [in case someone rolls back]"

The answer is yes to both.  Both have scenarios have been tested with both java 8 and java 11.

Test 1 was a follows:

Create simple graph on apache nifi 1.10.0
GetFile -> UpdateAttribute
run a few times.
Check Data Provenance

then using nifi compiled from the  new/NIFI-6851 version of apache nifi 
move over flow.xml.gz as well as the content_repository, database_repository, flowfile_repository, provenance_repository from 1.10.0 version to this  new/NIFI-6851 nifi version

start up nifi
the Data Provenance looks exactly as it did before (and is searchable, actions can be replayed etc)




 

Test 2 was as follows:

Create simple graph with this code (i.e. NIFI-6851) included in the build.
GetFile -> UpdateAttribute
run a few times.
Check Data Provenance

then using an older version of nifi (in my case, I did 1.10.0)
move over flow.xml.gz as well as the content_repository, database_repository, flowfile_repository, provenance_repository from the new/NIFI-6851 version to this older version
start up nifi
the Data Provenance looks exactly as it did before (and is searchable, actions can be replayed etc)

> Improve Provenance RECEIVE and FETCH events to allow for specifics on how flowfile was RECEIVE'ed/FETCH'ed
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-6851
>                 URL: https://issues.apache.org/jira/browse/NIFI-6851
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>    Affects Versions: 1.10.0
>            Reporter: Nissim Shiman
>            Assignee: Michael Hogue
>            Priority: Major
>          Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> Currently there is no way to know if a Provenance RECEIVE or FETCH event is the result of an active (i.e. GetFTP, FetchFTP, GetHTTP), passive (i.e. ListenHTTP)  or query (i.e. GetMongo) event.
> There was a discussion on the dev mailing lists regarding the most graceful way to do this [1] [2], 
>  
> At this time the smoothest path forward is to keep the current method signatures of receive() and fetch() as is in ProvenanceReporter.java [3]
> and to add new fetch() and receive()'s with a new parameter:
> receive(...,ACTIVE|PASSIVE|QUERY)
> If not specified it would be UNSPECIFIED. 
>  (Thank You [~joewitt] for this solution)
>  
>  
> [1] [https://mail-archives.apache.org/mod_mbox/nifi-dev/201910.mbox/browser] , topic of PULL ProvenanceEvent
> [2] [https://mail-archives.apache.org/mod_mbox/nifi-dev/201911.mbox/browser] , topic of Re: PULL ProvenanceEvent
> [3] [https://github.com/apache/nifi/blob/master/nifi-api/src/main/java/org/apache/nifi/provenance/ProvenanceReporter.java]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)