kafka-jira mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Babrou (JIRA)" <j...@apache.org>
Subject [jira] [Created] (KAFKA-6444) Kafka consumers and producers get confused by dualstack A + AAAA DNS records
Date Sat, 13 Jan 2018 19:38:00 GMT
Ivan Babrou created KAFKA-6444:

             Summary: Kafka consumers and producers get confused by dualstack A + AAAA DNS
                 Key: KAFKA-6444
                 URL: https://issues.apache.org/jira/browse/KAFKA-6444
             Project: Kafka
          Issue Type: Bug
    Affects Versions:
            Reporter: Ivan Babrou

We have hostnames with both A (IPv4) and AAAA (IPv6) DNS records. Kafka is configured to only
listen on IPv6 by manually setting IP to listen on and advertise outside.

Brokers have no issue communicating between them, because they are not given the option to
resolve hostnames and pick IP protocol version.

Consumers and producers have to use bootstrap hostnames and do not try to connect to IPv6
at all, they are stuck in SYN_SENT over IPv4:

syslog-ng 12621      999  123u  IPv6         2411122889      0t0        TCP>

This happened to consumer in syslog-ng output plugin:

* https://github.com/balabit/syslog-ng/issues/1835

It also happened to a Flink consumer, although I do no have any more info about that one.
We fixed the issue by only providing AAAA records for bootstrapping.

Previously we saw the opposite problem with dualstack: software does not implement happy eyeballs
and only connects to IPv6 address, which is firewalled. This happened to SSH (client gets
stuck if you don't supply -4) and Go (https://github.com/golang/go/issues/22225) to give a
couple of examples.

The solution for this is Happy Eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs

Kafka clients should connect to IPv6 first and then fallback to IPv4 if not available.

There is also KAFKA-3347.

This message was sent by Atlassian JIRA

View raw message