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

Reply via email to