David Arthur created KAFKA-7738:
-----------------------------------

             Summary: Track partition leader epochs in client metadata
                 Key: KAFKA-7738
                 URL: https://issues.apache.org/jira/browse/KAFKA-7738
             Project: Kafka
          Issue Type: Improvement
            Reporter: David Arthur


The Metadata API now exposes the current leader epoch of each partition. We can 
leverage this information to be smarter in how we fetch metadata. For example, 
when we receive a NOT_LEADER_FOR_PARTITION, we know to look for an epoch bump 
before resuming whatever operation we were trying to do. Additionally, this 
gives us a way to detect stale metadata.

This requires a little more sophistication in how we track metadata in the 
client. For example, we may be not be able to assume metadata updates are 
monotonic. In other words, they may mix stale metadata for one partition and 
fresh metadata for another. I am not sure we have any strong guarantees on the 
order in which metadata updates are seen on each broker.

It may be helpful in this context to control the topics that we fetch metadata 
for at a finer granularity. Potentially we could even extend the Metadata API 
to specify a subset of the partitions that the client is interested in.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to