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)