Hello Ryan,

ClientUtils.fetchTopicMetadata reads the topic metadata from the brokers,
which cache the metadata stored in from ZK (as the ground truth). And
ZkUtils.getLeaderIsrAndEpochForPartition directly read from ZK.

The cached data in brokers is not guaranteed to be strictly synchronized
with the data in ZK as it is only propagated by controller asynchronously.

Guozhang


On Wed, Dec 4, 2013 at 3:53 PM, Ryan Berdeen <rberd...@hubspot.com> wrote:

> I'm working on some monitoring tools for Kafka, and I've seen a couple of
> clusters get into a state where ClientUtils.fetchTopicMetadata will show
> that not all replicas are in the ISR.
>
> At the same time, ZkUtils.getLeaderIsrAndEpochForPartition will show that
> all all partitions are in the ISR, and
> the "kafka.server":name="UnderReplicatedPartitions",type="ReplicaManager"
> MBean will report 0.
>
> What's going on? Is there something wrong with my controller, or should I
> not be paying attention to ClientUtils.fetchTopicMetadata?
>
> Thanks,
>
> Ryan
>



-- 
-- Guozhang

Reply via email to