diff --git a/clients/src/main/java/org/apache/kafka/clients/Metadata.java b/clients/src/main/java/org/apache/kafka/clients/Metadata.java index 231593d9e9a81..042a9cecd8138 100644 --- a/clients/src/main/java/org/apache/kafka/clients/Metadata.java +++ b/clients/src/main/java/org/apache/kafka/clients/Metadata.java @@ -93,7 +93,7 @@ public Metadata(long refreshBackoffMs, long metadataExpireMs, LogContext logContext, ClusterResourceListeners clusterResourceListeners) { - this(refreshBackoffMs, metadataExpireMs, logContext, clusterResourceListeners, Long.MAX_VALUE); + this(refreshBackoffMs, metadataExpireMs, logContext, clusterResourceListeners, -1); } public Metadata(long refreshBackoffMs, @@ -141,7 +141,8 @@ public synchronized void incrementNodesTriedSinceLastSuccessfulRefresh() { * has been set by receiving stale metadata from a different cluster */ public synchronized boolean shouldUpdateClusterMetadataFromBootstrap(long nowMs) { - return (this.nodesTriedSinceLastSuccessfulRefresh >= 1 && + return this.maxClusterMetadataExpireTimeMs > 0 && + (this.nodesTriedSinceLastSuccessfulRefresh >= 1 && (this.lastRefreshMs != 0 && this.lastSuccessfulRefreshMs + this.maxClusterMetadataExpireTimeMs <= nowMs)) || this.forceClusterMetadataUpdateFromBootstrap; }