pool: bound New connect by context, add WaitConnected#592
Open
bigbes wants to merge 1 commit into
Open
Conversation
pool.New / pool.NewWithOpts no longer use Opts.CheckTimeout to bound the initial connect: they dial all instances concurrently and wait for those dials to finish, bounded only by the supplied context. Previously the wait was additionally capped at CheckTimeout after the first successful dial. Opts.CheckTimeout now only drives the reconnect and role-relocate timer. Add Pool.WaitConnected(ctx, mode) (also on the Pooler interface) to block until a connection in the given mode is ready, since New may return a pool with no live connections when instances are unreachable.
1c39288 to
6fcd412
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pool.New/pool.NewWithOptsno longer useOpts.CheckTimeoutto bound the initial connect: they dial all instances concurrently and wait for those dials to finish, bounded only by the suppliedcontext. Previously the wait was additionally capped atCheckTimeoutafter the first successful dial.Opts.CheckTimeoutnow only drives the reconnect and role-relocate timer.Add
Pool.WaitConnected(ctx, mode)(also on thePoolerinterface) to block until a connection in the given mode is ready, sinceNewmay return a pool with no live connections when instances are unreachable.