[
https://issues.apache.org/jira/browse/NIFI-2259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403943#comment-15403943
]
ASF subversion and git services commented on NIFI-2259:
-------------------------------------------------------
Commit aae2d2787911938deb271272dd7400357a5e94c5 in nifi's branch
refs/heads/master from [~ijokarumawak]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=aae2d27 ]
NIFI-2259: HTTP Site-to-Site can't handle DEST_FULL
HTTP Site-to-Site can't handle TRANSACTION_FINISHED_BUT_DESTINATION_FULL
scenario as expected.
That happens if the remote NiFi's input port destination relationship
becomes full during Site-to-Site client sends data. The data which has
already sent to the remote NiFi has to be committed successfully.
However, the remote NiFi returns 503 as a response of commit HTTP
request. Because it does check port availability.
The port availability check shouldn't be called at commit request, since
the session at source NiFi has already been committed. The remote NiFi
should commit its session as well, and return
TRANSACTION_FINISHED_BUT_DESTINATION_FULL response.
This fix makes a remote NiFi to keep the handshaken properties when it holds
transaction to be committed. Then if a transaction already has
handshaken properties, then use it, instead of doing a handshake process
again.
> HTTP Site-to-Site doesn't handle TRANSACTION_FINISHED _BUT_DESTINATION_FULL
> as expected
> ---------------------------------------------------------------------------------------
>
> Key: NIFI-2259
> URL: https://issues.apache.org/jira/browse/NIFI-2259
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.0.0
> Reporter: Koji Kawamura
> Assignee: Joseph Witt
> Priority: Critical
> Fix For: 1.0.0
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> If a remote NiFi instance input-port's destination becomes full, It's
> expected that remote NiFi instance returns
> TRANSACTION_FINISHED_BUT_DESTINATION_FULL response.
> However, an IOException occurred due to DESTINATION_FULL handshake error when
> org.apache.nifi.remote.Transaction.complete() is called.
> The cause of this issue is SiteToSiteResource.commitInputPortTransaction()
> checks if all of input-port's destination is full. Which shouldn't be
> executed at complete(). The transaction is already committed on source NiFi.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)