philipnee opened a new pull request, #14054: URL: https://github.com/apache/kafka/pull/14054
Motivation: Instantiating a new client may result in a fatal failure if the bootstrap server cannot be resolved due to misconfiguration or transient network issues such as slow DNS. This is suboptimal because of the fact that it might take a long time for the address to become available at the DNS server, and users will need to continue to retry. Also, the ConfigException exception type does not accurately reflect the root cause of the problem, which makes it hard to handle this failure case. We think it is reasonable to allow users to have a grace period to retry if the address cannot be resolved immediately. Also, poisoning the clients during the construction can be obstructive; I think it is better to fail the client on its first attempt to connect to the network. Changes: Changing the `NetworkClient` constructor to accept a set of bootstrap configurations, which is then used for bootstrapping during the `NetworkClient.poll()` operation. To avoid passing more parameters to the existing list, I wrapped the configurations into a `BootstrapConfiguration` class. On the client side, bootstrapping are removed as the motivation of the KIP is to avoid bootstrapping during the instance construction. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org