Repository: kafka Updated Branches: refs/heads/trunk 726e23ef4 -> b46cb3b29
KAFKA-2599: Fix Metadata.getClusterForCurrentTopics throws NPE â¦h null checking Author: Edward Ribeiro <[email protected]> Reviewers: Ismael Juma, Guozhang Wang Closes #262 from eribeiro/KAFKA-2599 Project: http://git-wip-us.apache.org/repos/asf/kafka/repo Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/b46cb3b2 Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/b46cb3b2 Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/b46cb3b2 Branch: refs/heads/trunk Commit: b46cb3b2975afd8a3e82a0265c57760d8b9910da Parents: 726e23e Author: Edward Ribeiro <[email protected]> Authored: Tue Oct 6 13:39:17 2015 -0700 Committer: Guozhang Wang <[email protected]> Committed: Tue Oct 6 13:39:17 2015 -0700 ---------------------------------------------------------------------- clients/src/main/java/org/apache/kafka/clients/Metadata.java | 6 +++++- .../src/test/java/org/apache/kafka/clients/MetadataTest.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kafka/blob/b46cb3b2/clients/src/main/java/org/apache/kafka/clients/Metadata.java ---------------------------------------------------------------------- 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 7d4ffa7..f2fca12 100644 --- a/clients/src/main/java/org/apache/kafka/clients/Metadata.java +++ b/clients/src/main/java/org/apache/kafka/clients/Metadata.java @@ -14,10 +14,12 @@ package org.apache.kafka.clients; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.kafka.common.Cluster; +import org.apache.kafka.common.Node; import org.apache.kafka.common.PartitionInfo; import org.apache.kafka.common.errors.TimeoutException; import org.slf4j.Logger; @@ -237,11 +239,13 @@ public final class Metadata { private Cluster getClusterForCurrentTopics(Cluster cluster) { Collection<PartitionInfo> partitionInfos = new ArrayList<>(); + List<Node> nodes = Collections.emptyList(); if (cluster != null) { for (String topic : this.topics) { partitionInfos.addAll(cluster.partitionsForTopic(topic)); } + nodes = cluster.nodes(); } - return new Cluster(cluster.nodes(), partitionInfos); + return new Cluster(nodes, partitionInfos); } } http://git-wip-us.apache.org/repos/asf/kafka/blob/b46cb3b2/clients/src/test/java/org/apache/kafka/clients/MetadataTest.java ---------------------------------------------------------------------- diff --git a/clients/src/test/java/org/apache/kafka/clients/MetadataTest.java b/clients/src/test/java/org/apache/kafka/clients/MetadataTest.java index c42c7bc..b7160a1 100644 --- a/clients/src/test/java/org/apache/kafka/clients/MetadataTest.java +++ b/clients/src/test/java/org/apache/kafka/clients/MetadataTest.java @@ -111,6 +111,9 @@ public class MetadataTest { assertEquals(100, metadata.timeToNextUpdate(1100)); assertEquals(100, metadata.lastSuccessfulUpdate()); + metadata.needMetadataForAllTopics(true); + metadata.update(null, time); + assertEquals(100, metadata.timeToNextUpdate(1000)); } @Test
