I was looking at the code and it seems like we should change how the
bootstrap resolution is done as part of this KIP. The way it works at the
1. We create a single InetSocketAddress by calling the constructor with the
host and port. That invokes InetAddress.getByName(host), which takes the
first result of `getAllByName`.
2. Using the consumer as an example, it takes the list with one
InetSocketAddress and passes it to ConsumerMetadata.bootstrap(), which
creates a node via `new Node(nodeId, address.getHostString(),
address.getPort()))`. If the first address happens to be down, we don't try
any other address.
I think this goes against the goals of this KIP, which is to use any of the
available addresses in every case (including bootstrap). It's not clear to
me why we try to resolve the address in the first place in the default
case. Instead, we should create `Node` with the original host and port.
When we try to connect, the existing logic for iterating over the existing
addresses will be used.
Rajini, any reason why this would not work?
On Mon, May 25, 2020 at 5:03 PM Badai Aqrandista <[EMAIL PROTECTED]> wrote: