Skip to content

Allow connect() (again) while the server is not responding #833

Description

@florinutz

Since 2.3.0, connect() contacts the configured servers and raises ConnectionError when none of them answers (#711). For most programs that is an improvement: the failure arrives where the connection is made, not at the first statement.

A test suite that talks to a cluster while nodes are starting or shutting down now fails inside connect(). crate's blackbox tests hit that and crate pinned crate<2.3 to unblock CI (see crate/crate#20233). The same applies to programs that connect while the server is still coming up (e.g. a CI service container).

Proposal: connect(..., probe=False) skips the check at construction. The server version is then resolved when something first reads lowest_server_version, and an unreachable cluster fails at the first statement, as it did before 2.3.0. The default stays probe=True, so nothing changes for callers who want the early failure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions