[ https://issues.apache.org/jira/browse/KAFKA-2819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002312#comment-15002312 ]
Jun Rao commented on KAFKA-2819: -------------------------------- It seems that the following assumption in OldConsumer is incorrect. We should first check iter.hasNext since it can return false if the ConsumerConnector is shut down. override def receive(): BaseConsumerRecord = { // we do not need to check hasNext for KafkaStream iterator val messageAndMetadata = iter.next > ConsumerConsume throw unexpected exception during clean shutdown > ---------------------------------------------------------------- > > Key: KAFKA-2819 > URL: https://issues.apache.org/jira/browse/KAFKA-2819 > Project: Kafka > Issue Type: Bug > Reporter: Jun Rao > Fix For: 0.9.0.0 > > > Saw the following error during a clean shutdown. > [2015-11-12 13:12:58,918] INFO [ConsumerFetcherManager-1447333891220] All > connections stopped (kafka.consumer.ConsumerFetcherManager) > [2015-11-12 13:12:58,921] ERROR Error processing message, terminating > consumer process: (kafka.tools.ConsoleConsumer$) > java.util.NoSuchElementException > at kafka.utils.IteratorTemplate.next(IteratorTemplate.scala:39) > at kafka.consumer.ConsumerIterator.next(ConsumerIterator.scala:46) > at kafka.consumer.OldConsumer.receive(BaseConsumer.scala:79) > at kafka.tools.ConsoleConsumer$.process(ConsoleConsumer.scala:101) > at kafka.tools.ConsoleConsumer$.run(ConsoleConsumer.scala:64) > at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:42) > at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala) -- This message was sent by Atlassian JIRA (v6.3.4#6332)