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)

Reply via email to