Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi/pull/2335
  
    @markap14 I found that ReportLineageToAtlas does get UNKNOWN provenance 
events when it queries lineage by 
`ProvenanceRepository.submitLineageComputation(final long eventId, final 
NiFiUser user)`. It uses the event hierarchies returned by that method, but to 
analyze each event detail fully, it also calls 
`ProvenanceEventRepository.getEvent(final long id)` which does not require 
user. That's why the reporting task worked even in a secured NiFi cluster.
    
    I now understand why NiFi framework has two interfaces for provenance 
events, i.e. ProvenanceRepository and ProvenanceEventRepository. 
`ProvenanceRepository` provides methods to be called in a context with a user 
who made the request. `ProvenanceEventRepository` is used outside of a user 
request, intended for Reporting Tasks, etc.
    
    Is my understanding correct? If so, the approach of this PR looks good now? 
Thanks!


---

Reply via email to