Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note that this KIP preserves KIP-302 behaviour to only use multiple IPs of the same type (IPv4/IPv6) as the first one, to avoid any change in the network stack while trying multiple IPs.


With this KIP, client connection to bootstrap server will behave as per the following based on the value of client.dns.lookup configuration:

  • If set to "use_all_dns_ips", connect to each returned IP address in sequence until a successful connection is established. After a disconnection, the next IP is used. Once all IPs have been used once, the client resolves the IP(s) from the hostname again (both the JVM and the OS may cache DNS name lookups, however).
  • If set to "resolve_canonical_bootstrap_servers_only"expands each bootstrap address into a list of canonical names. After the bootstrap phase, each of the canonical names is resolved with the same behaviour as "use_all_dns_ips"
  • If set to "default" (deprecated), attempt to connect to the first IP address returned by the lookup, even if the lookup returns multiple IP addresses.

Proposed Changes

The behaviour of ClientUtils#resolve stays the same, which is:

...