Use ImmutableSet and Iterators to prevent ConcurrentModificationExceptions.
Introduce a ConnectErrorHandler so users of this library can handle any
errors encountered during connection instead of having the errors just
get swallowed in a different thread which causes the connection timer to
fail and eventually lose servers during autoscaling.
Use ImmutableSet and Iterators to prevent ConcurrentModificationExceptions. Introduce a ConnectErrorHandler so users of this library can handle any errors encountered during connection instead of having the errors just get swallowed in a different thread which causes the connection timer to fail and eventually lose servers during autoscaling.