Skip to content

Wait until caps renegotiation completes on node upgrade - #33

Open
hmmr wants to merge 3 commits into
OpenRiak:openriak-3.4from
TI-Tokyo:tiot/openriak-3.4/caps-adjustment-on-downgrade
Open

Wait until caps renegotiation completes on node upgrade#33
hmmr wants to merge 3 commits into
OpenRiak:openriak-3.4from
TI-Tokyo:tiot/openriak-3.4/caps-adjustment-on-downgrade

Conversation

@hmmr

@hmmr hmmr commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

When a node with reduced capabilities joins the cluster, we should take care accordingly to reduce the set of supported capabilities in the cluster as well. This was done, in 2016, in a commit that was reverted soon thereafter, because it introduced "race conditions when nodes restart and gossip capabilities".

These "racing conditions", apparently, refer to a temporary state when nodes report inadequate capabilities, as when, for example, triggered here.

A mirror condition exists when the last node with reduced capabilities relative to the rest of the cluster, is upgraded. The result, after capability gossip and renegotiation, is the full set of capabilities restored cluster-wide.

This PR adds a wait, in the only test that regressed following un-reversion of the "filter caps on downgrade" commit (verify_dt_upgrade), until, when an upgraded node is starting, the capabilities are renegotiated.

Related PR in riak_core is OpenRiak/riak_core#63.

(Also included in this PR is an unrelated change that uses direct rt:get_backends/0 instead of trying to extract backend info from riak_test metadata, where such info is no longer found.)

@hmmr hmmr changed the title filter caps on node downgrade Wait until caps renegotiation completes on node upgrade Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant