Zakelly Lan created FLINK-37089:
-----------------------------------
Summary: 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
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)