Chun Zhang created KAFKA-7303: --------------------------------- Summary: Kafka client is stuck when specifying wrong brokkers Key: KAFKA-7303 URL: https://issues.apache.org/jira/browse/KAFKA-7303 Project: Kafka Issue Type: Bug Components: consumer Affects Versions: 1.1.0 Reporter: Chun Zhang
{code:java} import java.util.Collections; import java.util.Properties; import org.apache.kafka.clients.CommonClientConfigs; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache.kafka.clients.consumer.KafkaConsumer; public class KafkaBug { public static void main(String[] args) throws Exception { Properties props = new Properties(); // intentionally use an irrelevant address props.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, "issues.apache.org:80"); props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "PLAINTEXT"); props.put(ConsumerConfig.GROUP_ID_CONFIG, "group_id_string"); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.ByteArrayDeserializer"); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.ByteArrayDeserializer"); KafkaConsumer<byte[], byte[]> consumer = new KafkaConsumer<>(props); consumer.subscribe(Collections.singleton("mytopic")); // This call will block forever. consumer.poll(1000); } } {code} When I run the code above, I keep getting the error log below: {code:java} DEBUG [main] (21:21:25,959) - [Consumer clientId=consumer-1, groupId=group_id_string] Connection with issues.apache.org/207.244.88.139 disconnected java.net.ConnectException: Connection timed out at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50) at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:106) at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:470) at org.apache.kafka.common.network.Selector.poll(Selector.java:424) at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:460) at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:261) at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:233) at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:224) at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:156) at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:228) at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:205) at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:279) at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1149) at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1115) at com.twosigma.example.kafka.bug.KafkaBug.main(KafkaBug.java:46) DEBUG [main] (21:21:25,963) - [Consumer clientId=consumer-1, groupId=group_id_string] Node -1 disconnected. WARN [main] (21:21:25,963) - [Consumer clientId=consumer-1, groupId=group_id_string] Connection to node -1 could not be established. Broker may not be available. DEBUG [main] (21:21:25,963) - [Consumer clientId=consumer-1, groupId=group_id_string] Give up sending metadata request since no node is available DEBUG [main] (21:21:26,013) - [Consumer clientId=consumer-1, groupId=group_id_string] Give up sending metadata request since no node is available {code} I expect the program to fail when the wrong broker is specified. -- This message was sent by Atlassian JIRA (v7.6.3#76005)