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> 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?

Reply via email to