Actually I meant to say check that is not increasing.

On Thu, Feb 12, 2015 at 08:15:01AM -0800, Joel Koshy wrote:
> Possibly a bug - can you also look at the MaxLag mbean in the consumer
> to verify that the maxlag is zero?
> 
> On Thu, Feb 12, 2015 at 11:24:42PM +0800, tao xiao wrote:
> > Hi Joel,
> > 
> > When I set dual.commit.enabled=true the count value of both metrics got
> > increased. After I set offsets.storage=zookeeper only ZooKeeperCommitsPerSec
> > changed but not KafkaCommitsPerSec. I think this is expected as kafka
> > offset storage was turned off.
> > 
> > But when I looked up the consumer lag via kafka.tools.ConsumerOffsetChecker
> > the lag still remained unchanged.
> > 
> > I scanned through the source code of ConsumerOffsetChecker it  doesn't
> > check the offset in zk unless offsetFetchResponse returns NoOffset. Since
> > the consumer used kafka as the offset storage before I don't think
> > offsetFetchResponse would return NoOffset
> > 
> >  offsetFetchResponse.requestInfo.foreach { case (topicAndPartition,
> > offsetAndMetadata) =>
> > 
> >         if (offsetAndMetadata == OffsetMetadataAndError.NoOffset) {
> > 
> >           val topicDirs = new ZKGroupTopicDirs(group, topicAndPartition.
> > topic)
> > 
> >           // this group may not have migrated off zookeeper for offsets
> > storage (we don't expose the dual-commit option in this tool
> > 
> >           // (meaning the lag may be off until all the consumers in the
> > group have the same setting for offsets storage)
> > 
> >           try {
> > 
> >             val offset = ZkUtils.readData(zkClient, 
> > topicDirs.consumerOffsetDir
> > + "/%d".format(topicAndPartition.partition))._1.toLong
> > 
> >             offsetMap.put(topicAndPartition, offset)
> > 
> >           } catch {
> > 
> >             case z: ZkNoNodeException =>
> > 
> >               if(ZkUtils.pathExists(zkClient,topicDirs.consumerOffsetDir))
> > 
> >                 offsetMap.put(topicAndPartition,-1)
> > 
> >               else
> > 
> >                 throw z
> > 
> >           }
> > 
> >         }
> > 
> >         else if (offsetAndMetadata.error == ErrorMapping.NoError)
> > 
> >           offsetMap.put(topicAndPartition, offsetAndMetadata.offset)
> > 
> >         else {
> > 
> >           println("Could not fetch offset for %s due to %s.".format(
> > topicAndPartition, ErrorMapping.exceptionFor(offsetAndMetadata.error)))
> > 
> >         }
> > 
> >       }
> > 
> > On Thu, Feb 12, 2015 at 10:03 PM, Joel Koshy <jjkosh...@gmail.com> wrote:
> > 
> > > There are mbeans named KafkaCommitsPerSec and ZooKeeperCommitsPerSec -
> > > can you look those up and see what they report?
> > >
> > > On Thu, Feb 12, 2015 at 07:32:39PM +0800, tao xiao wrote:
> > > > Hi team,
> > > >
> > > > I was trying to migrate my consumer offset from kafka to zookeeper.
> > > >
> > > > Here is the original settings of my consumer
> > > >
> > > > props.put("offsets.storage", "kafka");
> > > >
> > > > props.put("dual.commit.enabled", "false");
> > > > Here is the steps
> > > >
> > > > 1. set dual.commit.enabled=true
> > > > 2. restart my consumer and monitor offset lag with
> > > > kafka.tools.ConsumerOffsetChecker
> > > > 3. set offsets.storage=zookeeper
> > > > 4. restart my consumer and monitor offset lag with
> > > > kafka.tools.ConsumerOffsetChecker
> > > >
> > > > After step 4 my consumer was able to continually consume data from topic
> > > > but the offset lag remained unchanged. Did I do anything wrong?
> > > >
> > > > --
> > > > Regards,
> > > > Tao
> > >
> > >
> > 
> > 
> > -- 
> > Regards,
> > Tao
> 

Reply via email to