Files
scylladb/service
Patryk Jędrzejczak d1d1b6cf6e raft: remove a replaced node from group 0 earlier
The topology coordinator only marks a replaced node as LEFT
during the replace operation and actually removes it from the
group 0 config in cleanup_group0_config_if_needed. If this
function is called before raft has committed a replacing node as
a voter, it does not remove the replaced node from the group 0
config. Then, the coordinator can decide that it has no work to
do and starts sleeping, leaving us with an outdated config.

This behavior reduces group 0 availability and causes problems in
tests (see  #14885). Also, it makes the coordinator's logic
confusing - it claims that it has no work to do when it has some
work to do. Therefore, we modify the coordinator so that it
removes the replaced node earlier in handle_topology_transition.

Fixes #14885
Fixes #14975

Closes #15009
2023-08-11 01:32:24 +02:00
..
2023-06-06 13:29:16 +03:00