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.
Since 2.3.0,
connect()contacts the configured servers and raisesConnectionErrorwhen 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 pinnedcrate<2.3to 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 readslowest_server_version, and an unreachable cluster fails at the first statement, as it did before 2.3.0. The default staysprobe=True, so nothing changes for callers who want the early failure.