When a rebalance operation fails on a table that is in RUNNING state, GBase 8a moves the table back to STARTING — not to CANCELED . This behavior reveals a deliberate state‑machine design: automatic retry and self‑healing .
State Transition Rules
Execution failure : RUNNING → failure → STARTING
Explicit cancel : STARTING / RUNNING / PAUSED → cancel command → CANCELED
Design Logic
Distinguishing "Cancel" from "Failure"
CANCELED is the result of an explicit CANCEL REBALANCE command issued by a user or administrator — the task is intentionally aborted.
STARTING is the result of an unexpected internal error (network glitch, temporarily unavailable node, resource shortage) — the task is interrupted but the system wants to retry.
The core distinction: CANCELED is a command , while STARTING signals a fault . They have different causes, so they lead to different states.
Automatic Retry and Self‑Healing
Reverting to STARTING means the system hasn't given up.…