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

Koji Kawamura updated NIFI-2028:
--------------------------------
    Description: 
Site-to-Site client and server create provenance event at both end, and those 
have Transit URI in it to record how flow files are transferred. However, the 
URI formats are inconsistent among RAW vs HTTP.

Test result as follows:

- These port numbers are configurable in nifi.properties
- 3080: Web API port (nifi.web.http.port)
- 3081: Site-to-Site RAW Socket port (nifi.remote.input.socket.port)

*Before Fix*

PUSH - RAW
|Client - SEND: | nifi://localhost:3081/flow-file-uuid |
|Server - RECEIVE: | nifi://localhost:3081/flow-file-uuid|

PULL - RAW
|Client - RECEIVE:| nifi://localhost:3081flow-file-uuid|
|Server - SEND:   | nifi://localhost:3081/flow-file-uuid|

PUSH - HTTP
|Client - SEND:   | http://127.0.0.1:3080/nifi-api/flow-file-uuid|
|Server - RECEIVE:| nifi://127.0.0.1:57390|

PULL - HTTP
|Client - RECEIVE:| http://127.0.0.1:3080/flow-file-uuid|
|Server - SEND:   | nifi://127.0.0.1:57673|

*Issues*

- PULL - RAW, Client - RECEIVE: lacks '/' in between port and flow-file uuid
- RAW uses server's host and port on both end (by transit url prefix), HTTP 
should follow this rule
- HTTP transit uri looks like REST endpoint but it is not a real endpoint. It 
should be an actual endpoint URI
- RAW uses hostname, while HTTP uses IP address

*After Fix*

PUSH - RAW
|Client - SEND: | nifi://localhost:3081/flow-file-uuid |
|Server - RECEIVE: | nifi://localhost:3081/flow-file-uuid|

PULL - RAW
|Client - RECEIVE: | nifi://localhost:3081/flow-file-uuid|
|Server - SEND:   | nifi://localhost:3081/flow-file-uuid|

PUSH - HTTP
|Client - SEND:   | 
http://localhost:3080/nifi-api/data-transfer/input-ports/$port-id/transactions/$tx-id/flow-files|
|Server - RECEIVE:| 
http://localhost:3080/nifi-api/data-transfer/input-ports/$port-id/transactions/$tx-id/flow-files|

PULL - HTTP
|Client - RECEIVE: | 
http://localhost:3080/nifi-api/data-transfer/output-ports/$port-id/transactions/$tx-id/flow-files|
|Server - SEND:   | 
http://localhost:3080/nifi-api/data-transfer/output-ports/$port-id/transactions/$tx-id/flow-files|


  was:
Site-to-Site client and server create provenance event at both end, and those 
have Transit URI in it to record how flow files are transferred. However, the 
URI formats are inconsistent among RAW vs HTTP.

Test result as follows:

- These port numbers are configurable in nifi.properties
- 3080: Web API port (nifi.web.http.port)
- 3081: Site-to-Site RAW Socket port (nifi.remote.input.socket.port)

*Before Fix*

PUSH - RAW
|Client - SEND: | nifi://localhost:3081/flow-file-uuid |
|Server - RECEIVE: | nifi://localhost:3081/flow-file-uuid|

PULL - RAW
|Client - RECEIVE:| nifi://localhost:3081flow-file-uuid|
|Server - SEND:   | nifi://localhost:3081/flow-file-uuid|

PUSH - HTTP
|Client - SEND:   | http://127.0.0.1:3080/nifi-api/flow-file-uuid|
|Server - RECEIVE:| nifi://127.0.0.1:57390|

PULL - HTTP
|Client - RECEIVE:| http://127.0.0.1:3080/flow-file-uuid|
|Server - SEND:   | nifi://127.0.0.1:57673|

*Issues*

- PULL - RAW, Client - RECEIVE: lacks '/' in between port and flow-file uuid
- RAW uses server's host and port on both end (by transit url prefix), HTTP 
should follow this rule
- HTTP transit uri looks like REST endpoint but it is not a real endpoint. It 
should be an actual endpoint URI
- RAW uses hostname, while HTTP uses IP address

*After Fix*

PUSH - RAW
|Client - SEND: | nifi://localhost:3081/flow-file-uuid |
|Server - RECEIVE: | nifi://localhost:3081/flow-file-uuid|

PULL - RAW
|Client - RECEIVE: | nifi://localhost:3081/flow-file-uuid|
|Server - SEND:   | nifi://localhost:3081/flow-file-uuid|

PUSH - HTTP
|Client - SEND:   | 
http://localhost:3080/nifi-api/site-to-site/input-ports/$port-id/transactions/$tx-id/flow-files|
|Server - RECEIVE:| 
http://localhost:3080/nifi-api/site-to-site/input-ports/$port-id/transactions/$tx-id/flow-files|

PULL - HTTP
|Client - RECEIVE: | 
http://localhost:3080/nifi-api/site-to-site/output-ports/$port-id/transactions/$tx-id/flow-files|
|Server - SEND:   | 
http://localhost:3080/nifi-api/site-to-site/output-ports/$port-id/transactions/$tx-id/flow-files|



> Site-to-Site Transit URI is inconsistent
> ----------------------------------------
>
>                 Key: NIFI-2028
>                 URL: https://issues.apache.org/jira/browse/NIFI-2028
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core UI
>    Affects Versions: 1.0.0
>            Reporter: Koji Kawamura
>            Assignee: Koji Kawamura
>             Fix For: 1.0.0
>
>         Attachments: send-to-the-same-box.png
>
>
> Site-to-Site client and server create provenance event at both end, and those 
> have Transit URI in it to record how flow files are transferred. However, the 
> URI formats are inconsistent among RAW vs HTTP.
> Test result as follows:
> - These port numbers are configurable in nifi.properties
> - 3080: Web API port (nifi.web.http.port)
> - 3081: Site-to-Site RAW Socket port (nifi.remote.input.socket.port)
> *Before Fix*
> PUSH - RAW
> |Client - SEND: | nifi://localhost:3081/flow-file-uuid |
> |Server - RECEIVE: | nifi://localhost:3081/flow-file-uuid|
> PULL - RAW
> |Client - RECEIVE:| nifi://localhost:3081flow-file-uuid|
> |Server - SEND:   | nifi://localhost:3081/flow-file-uuid|
> PUSH - HTTP
> |Client - SEND:   | http://127.0.0.1:3080/nifi-api/flow-file-uuid|
> |Server - RECEIVE:| nifi://127.0.0.1:57390|
> PULL - HTTP
> |Client - RECEIVE:| http://127.0.0.1:3080/flow-file-uuid|
> |Server - SEND:   | nifi://127.0.0.1:57673|
> *Issues*
> - PULL - RAW, Client - RECEIVE: lacks '/' in between port and flow-file uuid
> - RAW uses server's host and port on both end (by transit url prefix), HTTP 
> should follow this rule
> - HTTP transit uri looks like REST endpoint but it is not a real endpoint. It 
> should be an actual endpoint URI
> - RAW uses hostname, while HTTP uses IP address
> *After Fix*
> PUSH - RAW
> |Client - SEND: | nifi://localhost:3081/flow-file-uuid |
> |Server - RECEIVE: | nifi://localhost:3081/flow-file-uuid|
> PULL - RAW
> |Client - RECEIVE: | nifi://localhost:3081/flow-file-uuid|
> |Server - SEND:   | nifi://localhost:3081/flow-file-uuid|
> PUSH - HTTP
> |Client - SEND:   | 
> http://localhost:3080/nifi-api/data-transfer/input-ports/$port-id/transactions/$tx-id/flow-files|
> |Server - RECEIVE:| 
> http://localhost:3080/nifi-api/data-transfer/input-ports/$port-id/transactions/$tx-id/flow-files|
> PULL - HTTP
> |Client - RECEIVE: | 
> http://localhost:3080/nifi-api/data-transfer/output-ports/$port-id/transactions/$tx-id/flow-files|
> |Server - SEND:   | 
> http://localhost:3080/nifi-api/data-transfer/output-ports/$port-id/transactions/$tx-id/flow-files|



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to