Description
If `client.dns.lookup` is set to `use_all_dns_ips` or `resolve_canonical_bootstrap_servers_only`, the NetworkClient can store multiple IPs for each node, and currently it tries each IP in the list when connecting before re-resolving the IPs. This is useful when first establishing a connection because it ensures that the client exhausts all possible IPs. However, in the case where the IPs changed after a connection was already established, this would cause a reconnecting client to try several invalid IPs before re-resolving and trying a valid one. Instead, we should re-resolve DNS when a client disconnects from an established connection, rather than assuming the all previously-resolved IPs are still valid.