[
https://issues.apache.org/jira/browse/KAFKA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Pakulov updated KAFKA-2657:
-------------------------------------
Description:
During org.apache.kafka.clients.producer.KafkaProducer and
org.apache.kafka.clients.consumer.KafkaConsumer object creation constructors
invoke org.apache.kafka.common.utils.ClientUtils#parseAndValidateAddresses
which potentially could throw an exception if one the nodes hasn't been
resolved by DNS. As a result of that - object hasn't been created and you
aren't able to use Kafka clients.
I personally think that Kafka should be able to operate with cluster with
quorum number of instances.
{code:java}
try {
InetSocketAddress address = new InetSocketAddress(host, port);
if (address.isUnresolved())
throw new ConfigException("DNS resolution failed for url in " +
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG + ": " + url);
addresses.add(address);
} catch (NumberFormatException e) {
throw new ConfigException("Invalid port in " +
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG + ": " + url);
}
{code}
was:
During org.apache.kafka.clients.producer.KafkaProducer and
org.apache.kafka.clients.consumer.KafkaConsumer object creation constructors
invoke org.apache.kafka.common.utils.ClientUtils#parseAndValidateAddresses
which potentially could throw an exception if one the nodes hasn't been
resolved by DNS. As a result of that - object hasn't been created and you
aren't able to use Kafka clients.
I personally think that Kafka should be able to operate with cluster with
quorum number of instances.
```java
try {
InetSocketAddress address = new InetSocketAddress(host, port);
if (address.isUnresolved())
throw new ConfigException("DNS resolution failed for url in " +
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG + ": " + url);
addresses.add(address);
} catch (NumberFormatException e) {
throw new ConfigException("Invalid port in " +
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG + ": " + url);
}
```
> Kafka clients fail to start if one of broker isn't resolved by DNS
> -------------------------------------------------------------------
>
> Key: KAFKA-2657
> URL: https://issues.apache.org/jira/browse/KAFKA-2657
> Project: Kafka
> Issue Type: Bug
> Reporter: Alexander Pakulov
> Priority: Minor
>
> During org.apache.kafka.clients.producer.KafkaProducer and
> org.apache.kafka.clients.consumer.KafkaConsumer object creation constructors
> invoke org.apache.kafka.common.utils.ClientUtils#parseAndValidateAddresses
> which potentially could throw an exception if one the nodes hasn't been
> resolved by DNS. As a result of that - object hasn't been created and you
> aren't able to use Kafka clients.
> I personally think that Kafka should be able to operate with cluster with
> quorum number of instances.
> {code:java}
> try {
> InetSocketAddress address = new InetSocketAddress(host, port);
> if (address.isUnresolved())
> throw new ConfigException("DNS resolution failed for url in " +
> ProducerConfig.BOOTSTRAP_SERVERS_CONFIG + ": " + url);
> addresses.add(address);
> } catch (NumberFormatException e) {
> throw new ConfigException("Invalid port in " +
> ProducerConfig.BOOTSTRAP_SERVERS_CONFIG + ": " + url);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)