Shard Move Lifecycle — Copy, Catch Up, Cutover, Abort

Shard Move Lifecycle — Copy, Catch Up, Cutover, Abort A lifecycle diagram generated by Archify. Ownership In-flight requests Abort path Terminal Serving on A · node A owns the shard · Ownership · stable assignment 01 Serving on A node A owns the shard stable assignment Copying Data · stream the shard to B · Ownership · takes time 02 Copying Data stream the shard to B takes time Catch-Up · forward or buffer writes · Ownership · lag must approach zero 03 Catch-Up forward or buffer writes lag must approach zero Cutover · shard map updated · Ownership · ownership switches 04 Cutover shard map updated ownership switches Serving on B · node B owns the shard · Ownership · new assignment 05 Serving on B node B owns the shard new assignment Old Requests · still heading for A · In-flight requests · in the cutover window Old Requests still heading for A in the cutover window Move Aborted · map still says A · Abort path · no data lost Move Aborted map still says A no data lost Stranded Writes · stale routing table · Terminal · writes to the wrong node Stranded Writes stale routing table writes to the wrong node node joins bulk copy done lag near zero map: shard to B network or disk fails A still owns it requests still in flight forward or reject client cached old map Legend initial state active waiting decision success failure / exit final state