[ https://issues.apache.org/jira/browse/KAFKA-12789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
HaiyuanZhao updated KAFKA-12789: -------------------------------- Description: According to my understanding, the following paragraph looks like a stale comments. {code:java} public void handleSuccessfulResponse(RequestHeader requestHeader, long now, MetadataResponse response) { ... // Don't update the cluster if there are no valid nodes...the topic we want may still be in the process of being // created which means we will get errors and no nodes until it exists if (response.brokers().isEmpty()) { log.trace("Ignoring empty metadata response with correlation id {}.", requestHeader.correlationId()); this.metadata.failedUpdate(now); } else { this.metadata.update(inProgress.requestVersion, response, inProgress.isPartialUpdate, now); } ... {code} The comments above mean we will may get errors and no nodes if the topic we want may still be in the process of being created. However, every meta request will return all brokers from the logic of the server side, just as followed {code:java} def handleTopicMetadataRequest(request: RequestChannel.Request): Unit = { ... val brokers = metadataCache.getAliveBrokers ... } {code} I studied the related git commit history and figured out why. # This comments are first introduced in KAFKA-642. which means meta request only need brokers related to the topics we want. # Kafka-1535 changed the server side logic. which has the metadata response contain all alive brokers rather than just the ones needed for the given topics. # However, this comments are retained till now. So According to my understanding, this comments looks like a stale one and can be removed. was: According to my understanding, the following paragraph looks like a stale comments? ~subscript text~ / /Don't update the cluster if there are no valid nodes...the topic we want may still be in the process of being, // created which means we will get errors and no nodes until it exists > Remove Stale comments for meta response handling logic > ------------------------------------------------------ > > Key: KAFKA-12789 > URL: https://issues.apache.org/jira/browse/KAFKA-12789 > Project: Kafka > Issue Type: Improvement > Reporter: HaiyuanZhao > Assignee: HaiyuanZhao > Priority: Minor > > According to my understanding, the following paragraph looks like a stale > comments. > {code:java} > public void handleSuccessfulResponse(RequestHeader requestHeader, long now, > MetadataResponse response) { > ... > // Don't update the cluster if there are no valid nodes...the > topic we want may still be in the process of being > // created which means we will get errors and no nodes until it > exists > if (response.brokers().isEmpty()) { > log.trace("Ignoring empty metadata response with correlation > id {}.", requestHeader.correlationId()); > this.metadata.failedUpdate(now); > } else { > this.metadata.update(inProgress.requestVersion, response, > inProgress.isPartialUpdate, now); > } > ... > {code} > The comments above mean we will may get errors and no nodes if the topic we > want may still be in the process of being created. > However, every meta request will return all brokers from the logic of the > server side, just as followed > {code:java} > def handleTopicMetadataRequest(request: RequestChannel.Request): Unit = { > ... > val brokers = metadataCache.getAliveBrokers > ... > } > {code} > I studied the related git commit history and figured out why. > # This comments are first introduced in KAFKA-642. which means meta request > only need brokers related to the topics we want. > # Kafka-1535 changed the server side logic. which has the metadata response > contain all alive brokers rather than just the ones needed for the given > topics. > # However, this comments are retained till now. > So According to my understanding, this comments looks like a stale one and > can be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005)