01During migration, why can slot ownership and key location temporarily disagree?introScenarioA slot is being migrated from node A to node B while clients keep sending commands for keys in that slot.ADuring migration, the source may still own the slot while some individual keys have already moved to the target.BThey can never disagree, because ownership transfers atomically with the keys in a single cluster transaction.CThe disagreement is an illusion caused by stale client-side slot caches, not by keys actually moving early.DKeys move only after ownership flips, so the target may own the slot while the keys still sit on the source.
02When should a client treat a redirect as `ASK` rather than `MOVED`?introScenarioYour client library has just received a redirect and must decide how to update its routing state.AASK means update the slot map permanently, while MOVED is the one-time redirect used only during migration.BASK is returned for read commands and MOVED for write commands, so the type of command decides the redirect.CASK is temporary for a key during migration; MOVED means the stable slot owner has changed and the slot map should be updated.DThey are interchangeable hints, and a client may safely treat both as MOVED since both name the correct node, and updating the slot map on either one costs nothing extra.
03Why must the source keep a key until the target confirms import?appliedScenarioYou are implementing the key-transfer step of slot migration between two nodes.AThe source keeps the key so reads stay fast during migration; deletion simply waits for the next eviction cycle.BKeeping the source copy until import confirmation prevents losing the key if transfer fails partway through.CKeeping the copy lets both nodes serve writes for the key, doubling throughput while the migration runs.DThe key must remain because slot ownership cannot change while any key in the slot still exists on the source.
04What metadata changes when migration finishes?appliedScenarioThe last key of a migrating slot has just been transferred and acknowledged.AOnly client caches change; the cluster keeps the migrating and importing flags so future migrations start faster.BEach transferred key is tagged with the new node's ID, while the slot-level state stays unchanged.CThe source deletes the slot from its table, and clients learn the new owner only through subsequent ASK redirects, since MOVED is reserved for failover-driven ownership changes.DThe slot state changes from migrating/importing to the target as stable owner, and clients should later receive MOVED for stale routing.
05How can a stale client still make progress during and after resharding?advancedScenarioA client with a slot map from before the resharding keeps sending commands while slots move.AIt cannot make progress; a stale client must refetch the full slot map before any command will succeed.BA stale client can follow ASK during migration and MOVED after completion, so it can make progress while learning the new route.CIt should retry the same node with backoff until the slot map converges, because redirects are advisory only.DIt makes progress only for reads; writes from stale clients are rejected until the client performs a new handshake.