> Ok, so it looks like the default settings are:
> offset.storage = zookeeper
> dual.commit.enabled = true
> The doc for 'dual.commit.enabled' seems to imply (but doesn't clearly
> state) that it will only apply if offset.storage = kafka.  Is that right?
> (I'm guessing not)

dual.commit.enabled defaults to true only if offset.storage is kafka.
As you noted, it only applies if offset.storage = kafka is primarily
intended for migration.

> It seems to me less than ideal to have the default behavior to have
> dual.commit.enabled = true, since this seems like a performance hit, no?

To some degree yes, but it is relatively cheap.

> I'd think you'd only want this during a planned migration.

Yes.

> 
> Also, I assume it's desirable to switch to using 'kafka' for offset
> storage, for performance reasons?  Will it better handle a larger number of
> topics?

Yes.

> Also, I assume the __consumer_offsets topic will be set to have an infinite
> retention policy internally, is that right?  So that currently committed
> offsets for a given consumer group won't be lost?

It uses the "compaction" retention policy - so the topic won't grow
unbounded. Compaction will basically dedupe on the inactive segments
of the topic - so in effect it will only maintain the last committed
offset for a given group-topic-partition 3-tuple (plus a few - since
it runs only when a certain dirtiness threshold has been met). The
compaction policy is also documented on the site.

Thanks,

Joel

> On Thu, Feb 5, 2015 at 2:21 PM, Joel Koshy <jjkosh...@gmail.com> wrote:
> 
> > This is documented in the official docs:
> > http://kafka.apache.org/documentation.html#distributionimpl
> >
> > On Thu, Feb 05, 2015 at 01:23:01PM -0500, Jason Rosenberg wrote:
> > > What are the defaults for those settings (I assume it will be to continue
> > > using only zookeeper by default)?
> > >
> > > Also, if I have a cluster of consumers sharing the same groupId, and I
> > > update them via a rolling release, will it be a problem during the
> > rolling
> > > restart if there is inconsistency in the settings for a short time?  Or
> > is
> > > it required that the entire cluster be stopped, then update configs, then
> > > restart all nodes?
> > >
> > > Jason
> > >
> > > On Thu, Feb 5, 2015 at 12:45 PM, Gwen Shapira <gshap...@cloudera.com>
> > wrote:
> > >
> > > > Thanks Jon. I updated the FAQ with your procedure:
> > > >
> > > >
> > > >
> > https://cwiki.apache.org/confluence/display/KAFKA/FAQ#FAQ-HowdowemigratetocommittingoffsetstoKafka(ratherthanZookeeper)in0.8.2
> > > > ?
> > > >
> > > > On Thu, Feb 5, 2015 at 9:16 AM, Jon Bringhurst <
> > > > jbringhu...@linkedin.com.invalid> wrote:
> > > >
> > > > > There should probably be a wiki page started for this so we have the
> > > > > details in one place. The same question was asked on Freenode IRC a
> > few
> > > > > minutes ago. :)
> > > > >
> > > > > A summary of the migration procedure is:
> > > > >
> > > > > 1) Upgrade your brokers and set dual.commit.enabled=false and
> > > > > offsets.storage=zookeeper (Commit offsets to Zookeeper Only).
> > > > > 2) Set dual.commit.enabled=true and offsets.storage=kafka and restart
> > > > > (Commit offsets to Zookeeper and Kafka).
> > > > > 3) Set dual.commit.enabled=false and offsets.storage=kafka and
> > restart
> > > > > (Commit offsets to Kafka only).
> > > > >
> > > > > -Jon
> > > > >
> > > > > On Feb 5, 2015, at 9:03 AM, Jason Rosenberg <j...@squareup.com>
> > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > For 0.8.2, one of the features listed is:
> > > > > >  - Kafka-based offset storage.
> > > > > >
> > > > > > Is there documentation on this (I've heard discussion of it of
> > course)?
> > > > > >
> > > > > > Also, is it something that will be used by existing consumers when
> > they
> > > > > > migrate up to 0.8.2?  What is the migration process?
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Jason
> > > > >
> > > > >
> > > >
> >
> >

-- 
Joel

Reply via email to