Done: https://issues.apache.org/jira/browse/KAFKA-919.
I attached a very simple patch to the bug. I did not change any comments around it, but I can verify that my use case now works as expected. :) On May 24, 2013, at 12:33 PM, "Jun Rao" <jun...@gmail.com<mailto:jun...@gmail.com>> wrote: This turns out to be a bug. It seems that we always call commitOffsets() in ZookeeperConsumerConnector.closeFetchersForQueues() (which is called during rebalance), whether auto commit is enabled or not. Could you file a jira? Thanks, Jun On Fri, May 24, 2013 at 8:06 AM, Hargett, Phil < phil.harg...@mirror-image.com<mailto:phil.harg...@mirror-image.com>> wrote: In one of our applications using Kafka, we are using the high-level consumer to pull messages from our topic. Because we pull messages from topics in discrete units (e.g., an hour's worth of messages), we want to control explicitly when offsets are committed. Even though "auto.commit.enable" is set to false, during consumer group rebalancing, offsets are committed anyway, regardless of the setting of this flag. Is this a bug? Or just a known gap in offset management? I do see plenty of notes on the wiki suggesting future releases may enable applications using the high-level consumer to have more fine-grained control over offset management. I also fully realize that different applications have different needs, and meeting all of them with a clean API can be challenging. In the case of this application, the high-level consumer solves the problem of locating the correct in a cluster for a given topic, so there are advantages to using it, even if we are not using it to balance fetch load across multiple consumers. We ideally have only 1 consumer active per consumer group, and can tolerate some duplicate messages. But, the consumer groups make it easy for 1 consumer to recover at the correct starting point, should the prior consumer in the group have failed before doing a commit. Thoughts?