mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
After parallel tablet draining, the validation at the time request starts executing is too late, tablets will be already drained. This trips tests which expect validation failure, but get tablet draining failure instead. Also, in case of decommission, it's a waste to go through draining only to discover that the operation has to be rolled back due to validation. So avoid submitting a request altogether if it's invalid. The validation at request execution start remains, for extra sefety. validate_removing_node() was extracted out of topology_coordinator, so that it can be called by storage_service on non-coordinator. Some tests need adjusting for the fact that after failed removenode the node may still not be marked as excluded, so we need to explicitly exclude it or add to the list of ignored nodes in the next removenode operation.