I don't see any comments/concerns. I would like to implement and commit to this 
ticket. Could anyone let me know how to request for the permission to assign 
that ticket to me?

Thanks, CH

From: ChienHsing Wu
Sent: Monday, October 22, 2018 1:40 PM
To: 'dev@kafka.apache.org' <dev@kafka.apache.org>
Subject: KAFKA-3932 - Consumer fails to consume in a round robin fashion


Hi,



I encountered the issue documented in the jira 
KAFKA-3932<https://issues.apache.org/jira/browse/KAFKA-3932?jql=text%20~%20%22round%20robin%20consumer%22>.
 Upon studying the source code and the 
PIP<https://cwiki.apache.org/confluence/display/KAFKA/KIP-41%3A+KafkaConsumer+Max+Records>,
 I think the issues is the statement in PIP: "As before, we'd keep track of 
which partition we left off at so that the next iteration would begin there." I 
think it should NOT use the last partition in the next iteration; it should 
pick the next one instead.

If this behavior is agreeable, the simplest solution to impose the order to 
pick the next one is to use the order the consumer.internals.Fetcher receives 
the partition messages, as determined by completedFetches queue in that class. 
To avoid parsing the partition messages repeatedly. we can save those parsed 
fetches to a list and maintain the next partition to get messages there.

Does it sound like a good approach? If this is not the right place to discuss 
the design please let me know where to engage. If this is agreeable I can 
contribute the implementation.



Thanks, CH

Reply via email to