[ 
https://issues.apache.org/jira/browse/KAFKA-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gwen Shapira resolved KAFKA-2585.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 0.9.0.0

Issue resolved by pull request 247
[https://github.com/apache/kafka/pull/247]

> ConsoleConsumer should not hang infinitely upon exception
> ---------------------------------------------------------
>
>                 Key: KAFKA-2585
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2585
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Dong Lin
>            Assignee: Dong Lin
>             Fix For: 0.9.0.0
>
>
> Due to imcompatibility beween Java 1.7 and Java 1.8, if Kafka ConsoleConsumer 
> was compiled by Java 1.8 but run by Java 1.7, and if ConsoleConsumer has 
> consumer.timeout.ms in the consumer.properties, then when it timesout, it 
> will throw the following exception and hang infinitely.
> This will cause problem for e.g. Ducktape system test, which currently runs 
> consumer with Java 1.7 and waits for consumer to timeout. This bug causes the 
> Ducktape to hang for a long time.
> To prevent ConsoleConsumer to hang in case of such exception, we can wrap 
> try/catch around run() and do System.exit(0) at the end of main() in 
> ConsoleConsumer.
> [2015-09-28 05:41:31,499] ERROR Error processing message, stopping consumer:  
> (kafka.tools.ConsoleConsumer$)
> kafka.consumer.ConsumerTimeoutException
>       at kafka.consumer.ConsumerIterator.makeNext(ConsumerIterator.scala:69)
>       at kafka.consumer.ConsumerIterator.makeNext(ConsumerIterator.scala:33)
>       at 
> kafka.utils.IteratorTemplate.maybeComputeNext(IteratorTemplate.scala:66)
>       at kafka.utils.IteratorTemplate.hasNext(IteratorTemplate.scala:58)
>       at kafka.utils.IteratorTemplate.next(IteratorTemplate.scala:38)
>       at kafka.consumer.ConsumerIterator.next(ConsumerIterator.scala:46)
>       at kafka.consumer.OldConsumer.receive(BaseConsumer.scala:70)
>       at kafka.tools.ConsoleConsumer$.process(ConsoleConsumer.scala:94)
>       at kafka.tools.ConsoleConsumer$.run(ConsoleConsumer.scala:57)
>       at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:41)
>       at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)
> Processed a total of 78 messages
> Exception in thread "main" java.lang.NoSuchMethodError: 
> java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
>       at kafka.utils.Pool.keys(Pool.scala:77)
>       at 
> kafka.consumer.FetchRequestAndResponseStatsRegistry$.removeConsumerFetchRequestAndResponseStats(FetchRequestAndResponseStats.scala:69)
>       at 
> kafka.metrics.KafkaMetricsGroup$.removeAllConsumerMetrics(KafkaMetricsGroup.scala:189)
>       at 
> kafka.consumer.ZookeeperConsumerConnector.shutdown(ZookeeperConsumerConnector.scala:202)
>       at kafka.consumer.OldConsumer.stop(BaseConsumer.scala:75)
>       at kafka.tools.ConsoleConsumer$.process(ConsoleConsumer.scala:98)
>       at kafka.tools.ConsoleConsumer$.run(ConsoleConsumer.scala:57)
>       at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:41)
>       at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to