mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 18:50:53 +00:00
This series makes several changes to how ignored nodes list is treated by the topology coordinator. First the series makes it global and not part of a single topology operation, second it extends the list at the time of removenode/replace invocation and third it bans all nodes in the list from contacting the cluster ever again. The main motivation is to have a way to unblock tablet migration in case of a node failure. Tablet migration knows how to avoid nodes in ignored nodes list and this patch series provides a way to extend it without performing any topology operation (which is not possible while tables migration runs). Fixes scylladb/scylladb#16108 * 'gleb/ignore-nodes-handling-v2' of github.com:scylladb/scylla-dev: test: add test for the new ignore nodes behaviour topology coordinator: cleanup node_state::decommissioning state handling code topology coordinator: ban ignored nodes just like we ban nodes that are left storage_service: topology coordinator: validate ignore dead nodes parameters in removenode/replace topology coordinator: add removed/replaced nodes to ignored_nodes list at the request invocation time topology coordinator: make ignored_nodes list global and permanent topology_coordinator: do not cancel rebuild just because some other nodes are dead topology coordinator: throw more specific error from wait_for_ip() function in case of a timeout raft_group0: add make_nonvoters function that can make multiple node non voters simultaneously