[ 
https://issues.apache.org/jira/browse/NIFI-4169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16136142#comment-16136142
 ] 

Koji Kawamura commented on NIFI-4169:
-------------------------------------

Hi [~ywik], I just wanted to share my progress on this.

I'm still in the process of reviewing but found couple of duplicated flag and 
counter variables in the code. Also I found that adding "unknown session" 
relationship may be useful to separate failure scenarios, but 'failure' and 
'retry' are generally used and easier to understand from users perspective. A 
possibly better approach is, with configuration level error or non-existing 
session id, route to 'failure' as the incoming FlowFile would fail if it's 
routed back, otherwise (i.e IOException) penalize and route it to 'retry'.

For better review process and discussion, I created a Github Pull Request based 
on your proposed patch. Still reading and learning proposed change, also fixing 
it for better maintainability. It's not completed but available here.
https://github.com/apache/nifi/pull/2105

> PutWebSocket processor with blank WebSocket session id attribute cannot 
> transfer to failure queue
> -------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-4169
>                 URL: https://issues.apache.org/jira/browse/NIFI-4169
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 1.3.0
>            Reporter: Y Wikander
>              Labels: patch
>         Attachments: 
> 0001-websocket-when-sendMessage-fails-under-blank-session.patch, 
> 0002-websocket-PutWebSocket-enhance-broadcast-support.patch
>
>
> If a PutWebSocket processor is setup with a blank WebSocket session id 
> attribute (see NIFI-3318; Send message from PutWebSocket to all connected 
> clients) and it is not connected to a websocket server it will log the 
> failure and mark the flowfile with Success (rather than Failure) -- and the 
> data is effectively lost.
> If there are multiple connected clients, and some succeed and others fail, 
> routing Failure back into the PutWebSocket could result in duplicate data to 
> some clients.
> Other NiFi processors seem to err on the side of "at least once".



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to