cockroachdb / cockroach

CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.
https://www.cockroachlabs.com
Other
30.01k stars 3.79k forks source link

server,rpc: the RPC heartbeat server incorrectly performs version check on CLI clients #90131

Open knz opened 1 year ago

knz commented 1 year ago

We have a cross-version compatibility guarantee between CLI clients and servers, such that it should be possible to use version N-1 of the CLI to access version N servers, and vice-versa.

There is a regression for this since v21.1 it is not any more possible to use e.g. a v21.2 CLI to operate a v22.1 server, or a v22.1 CLI to operate a v22.2 server.

(The problem still exists in v23.1)

For example, cockroach node drain fails with:

ERROR: failed to connect to the node: initial connection heartbeat failed: rpc error: code = Unknown desc = version compatibility check failed on ping request: cluster requires at least version 22.1-74, but peer has version 22.1

Jira issue: CRDB-20604

blathers-crl[bot] commented 1 year ago

Hi @knz, please add branch-* labels to identify which branch(es) this release-blocker affects.

:owl: Hoot! I am a Blathers, a bot for CockroachDB. My owner is otan.

knz commented 1 year ago

Investigated this further - this seems to happen in 22.1 too so not a GA blocker.

nvanbenschoten commented 1 year ago

@knz do you know what change introduced the regression?

knz commented 1 year ago

Yeah it was the big init refactor we did back in 21.1 (or maybe 20.2, I'm not sure), the one that allowed us to simplify/strengthen the upgrade process.