Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle older cluster versions more gracefully #1566

Open
RubenKelevra opened this issue Feb 8, 2022 · 5 comments
Open

Handle older cluster versions more gracefully #1566

RubenKelevra opened this issue Feb 8, 2022 · 5 comments
Labels
kind/bug A bug in existing code (including security flaws) need/triage Needs initial labeling and prioritization

Comments

@RubenKelevra
Copy link
Collaborator

I'm running a collaborative cluster. (Correct me if I'm wrong:) There's currently no way to specify a minimum version allowed to connect to the cluster.

So the Cluster daemon should handle older versions more gracefully and not print error messages on the status page as it does right now:

bafkreiaasrrzdg7qcqqsphd37n7zhwq5uigmaobmyufzzgx2uvpjyjt2de | lowpower.json@d557f23:
    > odin.pacman.store    : PINNED | 0001-01-01T00:00:00Z | Attempts: 0 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621321155+01:00 | Attempts: 0 | Priority: false
bafkreihrvpyagpnxur2wgg2peonpebjc2etirlaxswitq2v5a4vkvc66le | service.json@d557f23:
    > odin.pacman.store    : PINNED | 0001-01-01T00:00:00Z | Attempts: 0 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621304173+01:00 | Attempts: 0 | Priority: false
bafybeib7v5qd634yqhxooz2vktbqxexk5fm7e4c3gqpwawzxohxnv6czeu | x86-64.archlinux.pkg.pacman.store:
    > odin.pacman.store    : PINNED | 2022-02-06T05:40:12+01:00 | Attempts: 0 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621310034+01:00 | Attempts: 0 | Priority: false
    > ub4                  : PINNED | 2022-02-08T13:57:38.457711637Z | Attempts: 0 | Priority: false
bafybeibmdjyljajcy6kco3jsb2hokzt5gipwbjzqz5opot7vfuhb5odzre:
    > odin.pacman.store    : PINNING | 2022-02-08T14:54:45.732006229+01:00 | Attempts: 361 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621312469+01:00 | Attempts: 0 | Priority: false
    > ub4                  : PIN_ERROR: context canceled | 2022-02-08T13:53:37.492495847Z | Attempts: 0 | Priority: false
bafybeifykwyc7z22ykypffuag7ul5ziwbziovlobqkr5wbstmq4vke3dr4 | manjaro.pkg.pacman.store:
    > odin.pacman.store    : PINNED | 2022-02-05T22:28:00+01:00 | Attempts: 0 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621314653+01:00 | Attempts: 0 | Priority: false
    > ub4                  : PINNED | 2022-02-08T13:57:38.45771337Z | Attempts: 0 | Priority: false
bafk2bzaceavarewpnz4j6vhc4mnqathdlp45udnc6a3ts6bbsyofdejiar42a | service.json@09b33cc:
    > odin.pacman.store    : PINNED | 0001-01-01T00:00:00Z | Attempts: 0 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621316817+01:00 | Attempts: 0 | Priority: false
bafk2bzacedgctyuivk4dl4lmpo3jrwj3phri5wxtygapjefj6ydwpwkkqcogq | lowpower.json@0a0c512:
    > odin.pacman.store    : PINNED | 0001-01-01T00:00:00Z | Attempts: 0 | Priority: false
    > 12D3KooWGCSifNrJPZPfEdhAjRtxCW2dukiqQEqg4RAV6hE2jgbA : CLUSTER_ERROR: msgpack decode error [pos 35]: only encoded map or array can decode into struct | 2022-02-08T14:56:28.621319061+01:00 | Attempts: 0 | Priority: false

Additional information:

  • OS: Linux
  • IPFS Cluster version: 0.14.4
  • Installation method: binary from GitHub via AUR package
@RubenKelevra RubenKelevra added kind/bug A bug in existing code (including security flaws) need/triage Needs initial labeling and prioritization labels Feb 8, 2022
@hsanjuan
Copy link
Collaborator

what is the older version version?

I wasn't aware there was a breaking change here

@RubenKelevra
Copy link
Collaborator Author

@hsanjuan How do I look up which versions the other peers are running?

@hsanjuan
Copy link
Collaborator

ipfs-cluster-ctl --enc=json peers ls should have info

@RubenKelevra
Copy link
Collaborator Author

My node is on 0.14.4, the other node is on 0.13.1

@hsanjuan
Copy link
Collaborator

The release notes for v0.14.0:

This release is not fully compatible with previous ones. Nodes on different versions will be unable to parse metrics from each other (thus peers ls will not report peers on different versions) and the StatusAll RPC method (a.k.a ipfs-cluster-ctl status or /pins API endpoint) will not work. Hence the minor version bump. Please upgrade all of your cluster peers.

I don't think other peers can be handled more gracefully than the fact that they do still more or less work with much newer peers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug in existing code (including security flaws) need/triage Needs initial labeling and prioritization
Projects
None yet
Development

No branches or pull requests

2 participants