Gheorghe Gheorghe created FLINK-4439:
----------------------------------------

             Summary: Error message KafkaConsumer08 when all 
'bootstrap.servers' are invalid
                 Key: FLINK-4439
                 URL: https://issues.apache.org/jira/browse/FLINK-4439
             Project: Flink
          Issue Type: Improvement
          Components: Streaming Connectors
    Affects Versions: 1.0.3
            Reporter: Gheorghe Gheorghe
            Priority: Minor


The "flink-connector-kafka-0.8_2"  is logging the following error when all 
'bootstrap.servers' are invalid when passed to the FlinkKafkaConsumer08. 

See stacktrace: 
{code:title=stacktrace|borderStyle=solid}
2016-08-21 15:22:30 WARN  FlinkKafkaConsumerBase:290 - Error communicating with 
broker inexistentKafkHost:9092 to find partitions for [testTopic].class 
java.nio.channels.ClosedChannelException. Message: null
2016-08-21 15:22:30 DEBUG FlinkKafkaConsumerBase:292 - Detailed trace
java.nio.channels.ClosedChannelException
        at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)
        at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:78)
        at 
kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:68)
        at kafka.consumer.SimpleConsumer.send(SimpleConsumer.scala:91)
        at kafka.javaapi.consumer.SimpleConsumer.send(SimpleConsumer.scala:68)
        at 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer08.getPartitionsForTopic(FlinkKafkaConsumer08.java:264)
        at 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer08.<init>(FlinkKafkaConsumer08.java:193)
        at 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer08.<init>(FlinkKafkaConsumer08.java:164)
        at 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer08.<init>(FlinkKafkaConsumer08.java:131)
        at MetricsFromKafka$.main(MetricsFromKafka.scala:38)
        at MetricsFromKafka.main(MetricsFromKafka.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at sbt.Run.invokeMain(Run.scala:67)
        at sbt.Run.run0(Run.scala:61)
        at sbt.Run.sbt$Run$$execute$1(Run.scala:51)
        at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55)
        at sbt.Run$$anonfun$run$1.apply(Run.scala:55)
        at sbt.Run$$anonfun$run$1.apply(Run.scala:55)
        at sbt.Logger$$anon$4.apply(Logger.scala:84)
        at sbt.TrapExit$App.run(TrapExit.scala:248)
        at java.lang.Thread.run(Thread.java:745)
{code}
In the above stackrace it is hard to figure out that the actual servers 
provided as a config cannot be resolved to a valid ip address. Moreover the 
flink kafka consumer will try all of those servers one by one and failing to 
get partition information.

The suggested improvement is to fail fast and announce the user that the 
servers provided in the 'boostrap.servers' config are invalid. If at least one 
server is valid then the exception should not be thrown. 



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

Reply via email to