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

Zakelly Lan commented on FLINK-34704:
-------------------------------------

Actually, even if we don't checkpoint while it is calling {{{}yield(){}}}, the 
checkpoint still happen when some user code is running. You may see my 
investigation in ML ( 
[https://lists.apache.org/thread/4f7ywn29kdv4302j2rq3fkxc6pc8myr2] ), where all 
the records in queue actually invoked the `asyncInvoke` and are waiting for 
their result, and at this moment a checkpoint barrier mail comes which is able 
to trigger and finish the cp normally. The key point is the user code is 
stateless, only reading some external databases, thus the checkpoint can 
proceed in the meantime.

I agree that the {{StreamTask}} should prioritize taking a checkpoint over 
processing mails that are already enqueued. But this ticket is actually 
introducing a possible optimization for very specific scenario and only for 
this. For the original problem described in ML, I don't think the FLINK-35051 
could resolve it. Yet I do think FLINK-35051 is more important and we could pay 
more attention on it.

> 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