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)

Reply via email to