[jira] [Created] (FLINK-14304) Avoid task starvation with mailbox

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-14304) Avoid task starvation with mailbox

Shang Yuanchun (Jira)
Arvid Heise created FLINK-14304:
-----------------------------------

             Summary: Avoid task starvation with mailbox
                 Key: FLINK-14304
                 URL: https://issues.apache.org/jira/browse/FLINK-14304
             Project: Flink
          Issue Type: Improvement
          Components: Runtime / Task
            Reporter: Arvid Heise


Currently, all mails are always prioritized over regular input, which makes sense in most cases. However, it's easy to devise an operator that gets into starvation: each mail enqueues a new mail.

This ticket implements a simple extension in the mailbox processor: instead of draining the mailbox one-by-one, fetch all mails from the mailbox and run them one-by-one before running the default action. Only then, fetch all mails again and repeat.

So we execute all mails that are available at the start of this loop but no mails that are added in the meantime.

Special attention needs to be directed towards yield to downstream, such that it doesn't process mails outside of the current batch.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)