[ 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)