[
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)