[ 
https://issues.apache.org/jira/browse/FLINK-34704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17836037#comment-17836037
 ] 

Piotr Nowojski commented on FLINK-34704:
----------------------------------------

{code:java}
So it is designed to be safe to checkpoint during waiting async results (during 
yield). This operator is the only one that allow for checkpoint in middle of 
waiting.
{code}
Yes and no. It can be checkpointed with in-flight requests, but it can not be 
checkpointed while it is calling {{.yield()}} anywhere in it's own code, due to 
the state corruption/inconsistency issue I described above. So the solution is 
not to let subtask checkpoint while {{AsyncWaitOperator}} is calling 
{{.yield()}}, but {{StreamTask}} should prioritize taking a checkpoint over 
processing {{AWOPs}} mails that are already enqueued. 

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

Reply via email to