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

Martin Mucha commented on NIFI-4805:
------------------------------------

I understand what you're saying and we can do that. Somewhat. The problem is, 
that retry 10 seconds is extremely long for first re-connection attempt and 
extremely short for fifth re-connection attempt. Using tools at hand, we can at 
most use penalization property as a 'waiting-basis' and multiply it: we will 
have processor with self loop, where I will loop only each second to get 
reasonable number of loops. And we have to keep track for each flowfile via 
nonsensical flowfile attributes(how long it already waited, how long it should 
wait before next retry) and ... it still waste cpu and it's ugly and laborious 
processor users considering otherwise trivial task.

 

> allow delayed transfer
> ----------------------
>
>                 Key: NIFI-4805
>                 URL: https://issues.apache.org/jira/browse/NIFI-4805
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>            Reporter: Martin Mucha
>            Priority: Minor
>         Attachments: retry.xml
>
>
> Nifi has concept of penalization, but this penalization has fixed delay, and 
> there isn't way how to change it dynamically. 
> If we want to implement retry flow, where FlowFile flows in loop, we can 
> either lower performance of Processor via yielding it, or we can do active 
> waiting. And this is actually recommended as a correct way how to do that.
> It seems, that we can easily implement better RetryProcessor, all we missing 
> is `session.penalize` which accepts `penalizationPeriod`. Processor then can 
> gradually prolong waiting time after each failure.
>  
> Would it be possible to make such method visible?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to