Sam Meder created KAFKA-956:
-------------------------------
Summary: High-level consumer fails to check topic metadata
response for errors
Key: KAFKA-956
URL: https://issues.apache.org/jira/browse/KAFKA-956
Project: Kafka
Issue Type: Bug
Components: consumer
Affects Versions: 0.8
Reporter: Sam Meder
Assignee: Neha Narkhede
Priority: Blocker
Fix For: 0.8
In our environment we noticed that consumers would sometimes hang when started
too close to starting the Kafka server. I tracked this down and it seems to be
related to some code in rebalance (ZookeeperConsumerConnector.scala). In
particular the following code seems problematic:
val topicsMetadata =
ClientUtils.fetchTopicMetadata(myTopicThreadIdsMap.keySet,
brokers,
config.clientId,
config.socketTimeoutMs,
correlationId.getAndIncrement).topicsMetadata
val partitionsPerTopicMap = new mutable.HashMap[String, Seq[Int]]
topicsMetadata.foreach(m => {
val topic = m.topic
val partitions = m.partitionsMetadata.map(m1 => m1.partitionId)
partitionsPerTopicMap.put(topic, partitions)
})
The response is never checked for error, so may not actually contain any
partition info! Rebalance goes its merry way, but doesn't know about any
partitions so never assigns them...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira