Eno Thereska created KAFKA-4843: ----------------------------------- Summary: Stream round-robin scheduler is inneficient Key: KAFKA-4843 URL: https://issues.apache.org/jira/browse/KAFKA-4843 Project: Kafka Issue Type: Improvement Components: streams Affects Versions: 0.10.2.0 Reporter: Eno Thereska Assignee: Eno Thereska Fix For: 0.11.0.0
Currently StreamThread.runloop() uses a simple round-robin scheduler, where a single request is taken from each task for processing, followed by poll, followed by the same process over again. For example, for an app that has just 2 tasks each with 3 records ready to be processed we'd have the following sequence poll() -> process 1 request for task T1 -> process 1 request for task T2 -> poll() -> process 1 request for task T1 -> process 1 request for task T2 -> poll() -> process 1 request for task T1 -> process 1 request for task T2 -> poll() This is quite inefficient. Instead, a better round robin scheduler would do: poll() -> process all 3 requests for task T1 -> process all 3 requests for task T2 -> poll() -- This message was sent by Atlassian JIRA (v6.3.15#6346)