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

Koji Kawamura commented on NIFI-4170:
-------------------------------------

Thanks for sharing a patch [~ywik] 

While there are few situations that PutWebSocket executes 'transferToFailure', 
I think here is the only place we need to yield the processor.
https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-processors/src/main/java/org/apache/nifi/processors/websocket/PutWebSocket.java#L238

Because yielding a processor is good for a situation that, it's most likely 
that the processor will produce the same error if it's executed again, 
regardless what input FlowFile comes, and we want to avoid doing that too 
often. Other places that calls transferToFailure would be caused by an input 
FlowFile, so I don't think we need to yield processor.

FYI, 'Penalty duration' is for delaying a FlowFile to be picked from a queue 
(because it caused some issue and can cause it again), so that other FlowFiles 
can be processed while it's penalized.

How do you think? If you agree, would you update the patch to only 'yield' when 
it catches WebSocketConfigurationException, IllegalStateException or 
IOException?

> PutWebSocket processor does not support 'Penalty duration' and 'Yield 
> duration' settings
> ----------------------------------------------------------------------------------------
>
>                 Key: NIFI-4170
>                 URL: https://issues.apache.org/jira/browse/NIFI-4170
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 1.3.0, 1.4.0
>            Reporter: Y Wikander
>            Priority: Minor
>              Labels: patch
>             Fix For: 1.3.0, 1.4.0
>
>         Attachments: 
> 0002-websocket-PutWebSocket-processor-support-Penalty-dur.patch
>
>
> PutWebSocket processor does not support 'Penalty duration' and 'Yield 
> duration' settings.
> I'm assuming that calling content.yield() will also cover 'Penalty duration'.



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

Reply via email to