cockroachdb / cockroachdb/cockroach
move replicas from decommissioning nodes even if nodes are in unavailable state
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
Dead and live nodes should be treated equally by allocator when they are marked as decommissioning. Currently allocator would only start moving voters from decommissioning node if it is live and ignore it if it is livenesspb.NodeLivenessStatus_UNAVAILABLE.
This behaviour will cause drain to wait for `server.time_until_store_dead` (5 minutes) till node is declared dead and that would trigger dead node rule to move voters away from it.
Ideally allocator should drain everything regardless of liveness, but internally both liveness and decommission states are represented by a single enum and liveness needs to take precedence so it masks decommissioning state. Handling states separately would allow allocator behaviour to be more consistent.
Jira issue: CRDB-25686
Contributor guide
Assessment
This issue has not been assessed yet.