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)

Reply via email to