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)