[
https://issues.apache.org/jira/browse/NIFI-14597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Handermann resolved NIFI-14597.
-------------------------------------
Fix Version/s: 2.5.0
Resolution: Fixed
> Stateless Engine does not always honor "source processor" yields
> ----------------------------------------------------------------
>
> Key: NIFI-14597
> URL: https://issues.apache.org/jira/browse/NIFI-14597
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Reporter: Mark Payne
> Assignee: Mark Payne
> Priority: Major
> Fix For: 2.5.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> When a Source Processor calls {{context.yield()}} the Stateless Engine should
> honor that and not call the processor again until the yield duration expires.
> This is honored so far as the Stateless Group will not be triggered to run
> again until the appropriate amount of time has elapsed.
> However, there are cases in which the source processor is triggered multiple
> times within the same invocation of the Stateless Group. For example, if a
> MergeContent processor runs and does not have enough data to merge, the
> source processor might get triggered to run again and again in order to fetch
> enough data. In this case, however, if the source processor has no more data,
> and it calls {{context.yield()}} the Stateless Engine sits in a tight loop
> calling {{Processor.onTrigger()}} as fast as it can, yielding no results and
> potentially making a lot of network calls, clients, etc.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)