[ https://issues.apache.org/jira/browse/FLINK-34704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17835796#comment-17835796 ]
Piotr Nowojski commented on FLINK-34704: ---------------------------------------- Adding new {{yield}} method wouldn't help, as we can not perform a checkpoint while operator is yielding, since that can lead to inconsistent state for upstream operators. For example when upstream operator does this: {code} OperatorXYZ::processElement(e, output) { stateA = e.foo; output.collect(e); stateB = e.bar; } {code} Chained operator inside `output.collect(e)` call, can not allow for checkpoint to be executed, since this would checkpoint the {{OperatorXYZ}} in an inconsistent state. I've discovered this issue independently (but for other operators) and described the problem in FLINK-35051. I think a better solution would be to make {{StreamTask}} prioritise: * processing priority messages from network stack over processing mails * execute out of order "urgent" mails, like time outing aligned checkpoint barriers to unaligned ones or triggerCheckpoint RPCs for source tasks I would propose to close this ticket for just {{AsyncWaitOperator}} in favour of FLINK-35051. > Process checkpoint barrier in AsyncWaitOperator when the element queue is full > ------------------------------------------------------------------------------ > > Key: FLINK-34704 > URL: https://issues.apache.org/jira/browse/FLINK-34704 > Project: Flink > Issue Type: Improvement > Components: Runtime / Task > Reporter: Zakelly Lan > Priority: Minor > > As discussed in > https://lists.apache.org/thread/4f7ywn29kdv4302j2rq3fkxc6pc8myr2 . Maybe it > is better to provide such a new `yield` that can process mail with low > priority in the mailbox executor. More discussion needed. -- This message was sent by Atlassian Jira (v8.20.10#820010)