You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ju...@apache.org on 2015/07/17 02:13:19 UTC
kafka git commit: kafka-2174; Wrong TopicMetadata deserialization;
patched by Alexey Ozeritskiy; reviewed by Jun Rao
Repository: kafka
Updated Branches:
refs/heads/trunk 8fa24a617 -> 1e0ed7a59
kafka-2174; Wrong TopicMetadata deserialization; patched by Alexey Ozeritskiy; reviewed by Jun Rao
Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/1e0ed7a5
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/1e0ed7a5
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/1e0ed7a5
Branch: refs/heads/trunk
Commit: 1e0ed7a592cd80cfca727b27ba01f6faa511531f
Parents: 8fa24a6
Author: Alexey Ozeritskiy <ao...@gmail.com>
Authored: Thu Jul 16 17:13:12 2015 -0700
Committer: Jun Rao <ju...@gmail.com>
Committed: Thu Jul 16 17:13:12 2015 -0700
----------------------------------------------------------------------
core/src/main/scala/kafka/api/TopicMetadata.scala | 2 +-
.../scala/unit/kafka/admin/AddPartitionsTest.scala | 17 +++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kafka/blob/1e0ed7a5/core/src/main/scala/kafka/api/TopicMetadata.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/api/TopicMetadata.scala b/core/src/main/scala/kafka/api/TopicMetadata.scala
index bd866bc..7b56b31 100644
--- a/core/src/main/scala/kafka/api/TopicMetadata.scala
+++ b/core/src/main/scala/kafka/api/TopicMetadata.scala
@@ -34,7 +34,7 @@ object TopicMetadata {
val partitionsMetadata: Array[PartitionMetadata] = new Array[PartitionMetadata](numPartitions)
for(i <- 0 until numPartitions) {
val partitionMetadata = PartitionMetadata.readFrom(buffer, brokers)
- partitionsMetadata(partitionMetadata.partitionId) = partitionMetadata
+ partitionsMetadata(i) = partitionMetadata
}
new TopicMetadata(topic, partitionsMetadata, errorCode)
}
http://git-wip-us.apache.org/repos/asf/kafka/blob/1e0ed7a5/core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
----------------------------------------------------------------------
diff --git a/core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala b/core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
index df5c6ba..8b14bcf 100755
--- a/core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
+++ b/core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
@@ -96,7 +96,7 @@ class AddPartitionsTest extends JUnit3Suite with ZooKeeperTestHarness {
val metadata = ClientUtils.fetchTopicMetadata(Set(topic1), brokers.map(_.getBrokerEndPoint(SecurityProtocol.PLAINTEXT)), "AddPartitionsTest-testIncrementPartitions",
2000,0).topicsMetadata
val metaDataForTopic1 = metadata.filter(p => p.topic.equals(topic1))
- val partitionDataForTopic1 = metaDataForTopic1.head.partitionsMetadata
+ val partitionDataForTopic1 = metaDataForTopic1.head.partitionsMetadata.sortBy(_.partitionId)
assertEquals(partitionDataForTopic1.size, 3)
assertEquals(partitionDataForTopic1(1).partitionId, 1)
assertEquals(partitionDataForTopic1(2).partitionId, 2)
@@ -121,7 +121,7 @@ class AddPartitionsTest extends JUnit3Suite with ZooKeeperTestHarness {
val metadata = ClientUtils.fetchTopicMetadata(Set(topic2), brokers.map(_.getBrokerEndPoint(SecurityProtocol.PLAINTEXT)), "AddPartitionsTest-testManualAssignmentOfReplicas",
2000,0).topicsMetadata
val metaDataForTopic2 = metadata.filter(p => p.topic.equals(topic2))
- val partitionDataForTopic2 = metaDataForTopic2.head.partitionsMetadata
+ val partitionDataForTopic2 = metaDataForTopic2.head.partitionsMetadata.sortBy(_.partitionId)
assertEquals(partitionDataForTopic2.size, 3)
assertEquals(partitionDataForTopic2(1).partitionId, 1)
assertEquals(partitionDataForTopic2(2).partitionId, 2)
@@ -146,12 +146,13 @@ class AddPartitionsTest extends JUnit3Suite with ZooKeeperTestHarness {
2000,0).topicsMetadata
val metaDataForTopic3 = metadata.filter(p => p.topic.equals(topic3)).head
- val partition1DataForTopic3 = metaDataForTopic3.partitionsMetadata(1)
- val partition2DataForTopic3 = metaDataForTopic3.partitionsMetadata(2)
- val partition3DataForTopic3 = metaDataForTopic3.partitionsMetadata(3)
- val partition4DataForTopic3 = metaDataForTopic3.partitionsMetadata(4)
- val partition5DataForTopic3 = metaDataForTopic3.partitionsMetadata(5)
- val partition6DataForTopic3 = metaDataForTopic3.partitionsMetadata(6)
+ val partitionsMetadataForTopic3 = metaDataForTopic3.partitionsMetadata.sortBy(_.partitionId)
+ val partition1DataForTopic3 = partitionsMetadataForTopic3(1)
+ val partition2DataForTopic3 = partitionsMetadataForTopic3(2)
+ val partition3DataForTopic3 = partitionsMetadataForTopic3(3)
+ val partition4DataForTopic3 = partitionsMetadataForTopic3(4)
+ val partition5DataForTopic3 = partitionsMetadataForTopic3(5)
+ val partition6DataForTopic3 = partitionsMetadataForTopic3(6)
assertEquals(partition1DataForTopic3.replicas.size, 4)
assertEquals(partition1DataForTopic3.replicas(0).id, 3)