[
https://issues.apache.org/jira/browse/NIFI-4654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16536667#comment-16536667
]
ASF GitHub Bot commented on NIFI-4654:
--------------------------------------
GitHub user ijokarumawak opened a pull request:
https://github.com/apache/nifi/pull/2863
NIFI-4654: Support reporting RAS S2S lineage to Atlas
- Added 's2s.port.id' FlowFile attribute to track target remote Port id
- Use 's2s.port.id' to analyze RAW S2S provenance events
This PR adds support for ReportLineageToAtlas report S2S RAW protocol
lineages. Data transfer using RAW S2S protocol can be reported to Atlas as
shown in following screenshots:
## Sending data to remote Input Port

## Getting data from remote Output Port

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
### For all changes:
- [x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
- [x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number
you are trying to resolve? Pay particular attention to the hyphen "-" character.
- [x] Has your PR been rebased against the latest commit within the target
branch (typically master)?
- [x] Is your initial contribution a single, squashed commit?
### For code changes:
- [x] Have you ensured that the full suite of tests is executed via mvn
-Pcontrib-check clean install at the root nifi folder?
- [x] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the LICENSE file, including the main
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to
.name (programmatic access) for each of the new properties?
### For documentation related changes:
- [x] Have you ensured that format looks appropriate for the output in
which it is rendered?
### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ijokarumawak/nifi nifi-4654
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi/pull/2863.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2863
----
commit 1972267fa773f56408858d76487ee6a2d5c6a706
Author: Koji Kawamura <ijokarumawak@...>
Date: 2018-07-09T02:28:17Z
NIFI-4654: Support reporting RAS S2S lineage to Atlas
- Added 's2s.port.id' FlowFile attribute to track target remote Port id
- Use 's2s.port.id' to analyze RAW S2S provenance events
----
> RAW S2S transit URI should contain Port ID instead of FlowFile ID
> -----------------------------------------------------------------
>
> Key: NIFI-4654
> URL: https://issues.apache.org/jira/browse/NIFI-4654
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Reporter: Koji Kawamura
> Assignee: Koji Kawamura
> Priority: Major
>
> In order to track where a FlowFile is sent to or received from, a provenance
> event record has to have target RemoteGroupPort ID (if it's S2S client) or
> RootGroupPort ID (if it's S2S server) in it.
> RemoteGroupPort used to have its component UUID as the same UUID as
> corresponding RootGroupPort's, but NIFI-3155 changed each RemoteGroupPort
> instance to have different UUIDs.
> HTTP protocol still contains port uuid in transit URI. But RAW does not
> contain a port identifier neither in transit URI nor provenance event record
> any longer.
> Currently, each S2S protocol generates provenance event with transit URI as
> follows:
> * RAW
> ** nifi://remote-host:remote-port/flowfile-uuid
> ** E.g. nifi://nifi1.example.com:8081/cb729f05-b2ee-4488-909d-c6696cc34588
> * HTTP
> **
> http(s)://homote-host:remote-port/nifi-api/data-transfer/in|output-ports/portId/transactions/txId/flow-files
> ** E.g.
> http://nifi1.example.coml:8080/nifi-api/data-transfer/input-ports/35dbc0ab-015e-1000-144c-a8d71255027d/transactions/89335043-f105-4de7-a0ef-46f2ef0c7c51/flow-files
> Also provenance events created when a FlowFile is received from remotely have
> 'Source FlowFile Id' field which contains FlowFile UUID in remote instance.
> This JIRA changes RAW S2S protocol to embed Port ID instead of FlowFile ID
> (which is available in Source FlowFile Id if needed).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)