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)