kamalcph commented on code in PR #19899: URL: https://github.com/apache/kafka/pull/19899#discussion_r2177772159
########## storage/src/main/java/org/apache/kafka/server/log/remote/metadata/storage/TopicBasedRemoteLogMetadataManager.java: ########## @@ -477,13 +478,15 @@ boolean doesTopicExist(Admin adminClient, String topic) { if (description != null) { log.info("Topic {} exists. TopicId: {}, numPartitions: {}, ", topic, description.topicId(), description.partitions().size()); - } else { Review Comment: The `else` block is dead-code. Thanks for removing it! ########## storage/src/main/java/org/apache/kafka/server/log/remote/metadata/storage/TopicBasedRemoteLogMetadataManager.java: ########## @@ -477,13 +478,15 @@ boolean doesTopicExist(Admin adminClient, String topic) { if (description != null) { log.info("Topic {} exists. TopicId: {}, numPartitions: {}, ", topic, description.topicId(), description.partitions().size()); - } else { - log.info("Topic {} does not exist.", topic); } - return description != null; + return true; } catch (ExecutionException | InterruptedException ex) { - log.info("Topic {} does not exist. Error: {}", topic, ex.getCause().getMessage()); - return false; + if (ex.getCause() instanceof UnknownTopicOrPartitionException) { + log.info("Topic {} does not exist", topic); Review Comment: With this change, the CREATE_TOPIC request issued only when it is clear that the topic does not exist in the cluster. When the request to describe the topic gets timed-out or any other exception thrown, then the same gets rethrown and the describe/create topic request gets retried in the next iteration until the initializationRetryMaxTimeoutMs gets breached. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org