[
https://issues.apache.org/jira/browse/NIFI-14366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17935282#comment-17935282
]
David Handermann commented on NIFI-14366:
-----------------------------------------
Agreed on creating a NiFi Improvement Proposal for this change, but it sounds
like a helpful and straightforward improvement.
Regarding naming, the following enum values could be considered:
- SINGLE
- IN_A_RELATIONSHIP
- ITS_COMPLICATED
- ENGAGED
:D
> Allow determining whether or not backpressure is applied to incoming
> connections
> --------------------------------------------------------------------------------
>
> Key: NIFI-14366
> URL: https://issues.apache.org/jira/browse/NIFI-14366
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework, NiFi API
> Reporter: Mark Payne
> Priority: Major
>
> There are cases when we need to know whether or not backpressure is applied
> on incoming connections. For example, in MergeContent, when a Correlation
> Attribute is used, it is very easy to have a situation in which the Min
> Number of Entries or Min Bin Size is not met, but in which backpressure is
> applied. In this case, we have to just wait for the Max Bin Age to elapse in
> order for MergeContent to progress. This introduces significant artificial
> delays into our dataflow.
> Instead, it would make sense for MergeContent to determine "all upstream
> connections have backpressure applied" and as a result immediately merge the
> "most full bin" in order to make progress.
> In terms of API changes, this would look like:
> {code:java}
> public interface ProcessContext {
> ...
> BackpressureEngagement getBackpressureEngagement();
> }
> public enum BackpressureEngagement {
> // No upstream connections have backpressure engaged
> BACKPRESSURE_NOT_ENGAGED,
> // At least one upstream connection has backpressure engaged but not all
> BACKPRESSURE_PARTIALLY_ENGAGED,
> // All upstream connections have backpressure engaged
> BACKPRESSURE_ENGAGED;
> }{code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)