garage worker list: cryptic error on client/server binary version mismatch #542

Closed
opened 2023-04-18 09:27:53 +00:00 by zdenek.crha · 2 comments
Contributor

I'm was attempting to run garage worker list command using v0.8.0 binary against cluster running v0.8.1 and I was getting really cryptic error message.

$ garage worker list
2023-04-18T09:20:09.431269Z  INFO netapp::netapp: Connected to 10.54.210.51:3901, negotiating handshake...
2023-04-18T09:20:09.476385Z  INFO netapp::netapp: Connection established to f376b8e0ca6a2805
Error: Internal error: Netapp error: Remote error (Other): netapp error: Messagepack decode error: unknown variant `cmd`, expected one of `List`, `Info`, `Set`

It was totally my fault, but it looked as garage error. I found my mistake only after I started gathering data for bug report.

It would be nice if garage run in as CLI tool checked its own version vs server version and reported at least warning. If version mismatch can cause issues in the middle of operation, it should be error instead.

I'm was attempting to run `garage worker list` command using `v0.8.0` binary against cluster running `v0.8.1` and I was getting really cryptic error message. ``` $ garage worker list 2023-04-18T09:20:09.431269Z INFO netapp::netapp: Connected to 10.54.210.51:3901, negotiating handshake... 2023-04-18T09:20:09.476385Z INFO netapp::netapp: Connection established to f376b8e0ca6a2805 Error: Internal error: Netapp error: Remote error (Other): netapp error: Messagepack decode error: unknown variant `cmd`, expected one of `List`, `Info`, `Set` ``` It was totally my fault, but it looked as `garage` error. I found my mistake only after I started gathering data for bug report. It would be nice if `garage` run in as CLI tool checked its own version vs server version and reported at least warning. If version mismatch can cause issues in the middle of operation, it should be error instead.
Owner

As far as I know, Garage already does check for compatible versions over the RPC channel, but only fails when the major versions differ (e.g. 7.x.y vs 8.z.t)

The RPC protocol should be compatible within the same major version, this looks like an oversight or a bug.

As far as I know, Garage already does check for compatible versions over the RPC channel, but only fails when the major versions differ (e.g. 7.x.y vs 8.z.t) The RPC protocol should be compatible within the same major version, this looks like an oversight or a bug.
Owner

I didn't bother making this one compatible accross Garage minor versions as it is not a core feature of Garage and we are not stable yet. I understand and apologize for the frustration. This will not happen after we reach the v1.0 target.

I didn't bother making this one compatible accross Garage minor versions as it is not a core feature of Garage and we are not stable yet. I understand and apologize for the frustration. This will not happen after we reach the v1.0 target.
lx closed this issue 2023-04-20 10:20:51 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#542
No description provided.