[
https://issues.apache.org/jira/browse/FLINK-37089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17912242#comment-17912242
]
Zakelly Lan commented on FLINK-37089:
-------------------------------------
Merge into master via:
* 0bfbef664fcd4aee3599db1297cb9796a3d19bee
* 78ea6ecfca214ac7bb7790a85325edc4700212b2
> Advanced scheduling for derived async state processing
> ------------------------------------------------------
>
> Key: FLINK-37089
> URL: https://issues.apache.org/jira/browse/FLINK-37089
> Project: Flink
> Issue Type: Sub-task
> Components: Runtime / Async State Processing, Runtime / Task
> Reporter: Zakelly Lan
> Assignee: Zakelly Lan
> Priority: Major
> Labels: pull-request-available
>
> Currently, there is a limit for in-flight records in async state processing.
> However, we allow developers to initialize a new processing in-middle of
> another. These derived processings are treated as normal ones for timers or
> upstreaming records, which is problematic:
> * The new derived processing may increase the number of in-flight requests
> and cause force draining when it reaches the limit. But the draining may
> require the current processing also finish. This is a deadlock.
> * The derived processing will queue behind normal processing, which is not
> the behavior the user wants. The derived ones should be fired right after the
> current processing or ASAP.
> Thus, I will change the behavior in `AsyncExecutionController` and its
> related buffer:
> * Avoid drain when creating derived processing.
> * Provide priority for the queuing processing and make derived one have
> greater priority.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)