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