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)

Reply via email to