mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-31 20:16:43 +00:00
Right now, if there's a node for which we don't know the features supported by this node (they are neither persisted locally, nor gossiped by that node), we would skip this node in calculating the set of enabled features and potentially enable a feature which shouldn't be enabled - because that node may not know it. We should only enable a feature when we know that all nodes have upgraded and know the feature. This bug caused us problems when we tried to move RAFT out of experimental. There are dtests such as `partitioner_tests.py` in which nodes would enable features prematurely, which caused the Raft upgrade procedure to break (the procedure starts only when all nodes upgrade and announce that they know the SUPPORTS_RAFT cluster feature). Closes #11225