[
https://issues.apache.org/jira/browse/KAFKA-2174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jun Rao updated KAFKA-2174:
---------------------------
Status: In Progress (was: Patch Available)
Thanks for the patch. +1 and committed to trunk.
The patch handles the case when the full list of partitions is not returned in
TopicMetadataResponse. However, the broker should always return all partitions
in a topic in TopicMetadataResponse. We need to figure out why this is not
always true. So, leaving this jira open.
> Wrong TopicMetadata deserialization
> -----------------------------------
>
> Key: KAFKA-2174
> URL: https://issues.apache.org/jira/browse/KAFKA-2174
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.8.2.1
> Reporter: Alexey Ozeritskiy
> Attachments: KAFKA-2174.patch
>
>
> TopicMetadata.readFrom assumes that ByteBuffer always contains the full set
> of partitions but it is not true. On incomplete metadata we will get
> java.lang.ArrayIndexOutOfBoundsException:
> {code}
> java.lang.ArrayIndexOutOfBoundsException: 47
> at
> kafka.api.TopicMetadata$$anonfun$readFrom$1.apply$mcVI$sp(TopicMetadata.scala:38)
> at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
> at kafka.api.TopicMetadata$.readFrom(TopicMetadata.scala:36)
> at
> kafka.api.TopicMetadataResponse$$anonfun$3.apply(TopicMetadataResponse.scala:31)
> at
> kafka.api.TopicMetadataResponse$$anonfun$3.apply(TopicMetadataResponse.scala:31)
> at
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
> at
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
> at scala.collection.immutable.Range.foreach(Range.scala:141)
> at
> scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
> at scala.collection.AbstractTraversable.map(Traversable.scala:105)
> at
> kafka.api.TopicMetadataResponse$.readFrom(TopicMetadataResponse.scala:31)
> {code}
> We sometimes get this exceptions on any broker restart (kill -TERM,
> controlled.shutdown.enable=false).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)