TENANT MIGRATION · PRE-CUTOVER CHECKS
Tenant migration: compare before cutover
Copy a tenant to a new store while writes continue, compare source and target, and decide whether the cutover may proceed.
Event trace
Computed data
Final metrics
Fictional tenant of 1,200 records; 36 have display names longer than 64 characters and 18 have a null region. Half the writes during the copy are inserts and half are updates of existing rows. A checksum compares every field of every row. Network failures, ordering of change events, schema mapping beyond the two defects, and rollback after cutover are not modeled.
A copy whose counts match
The fictional tenant has 1,200 records. During the copy 40 writes arrive, 20 inserts and 20 updates, and change-data-capture (CDC) replay applies them to the target, so source and target both hold 1,220 rows. The new schema caps display names at 64 characters, cutting 36 longer names without changing the row count. Row counts match, traffic switches, and the verdict is DATA LOSS: 36 records wrong after cutover. A count proves rows exist; it says nothing about their contents.
Checksums see contents
Change Comparison before cutover to Per-row checksums. Every field of every row is compared, 36 rows differ, and the result is CUTOVER BLOCKED with no records at risk. Choose None and the cutover proceeds with the same 36 bad records. Set Transform defect to Rows with a null region skipped and counts are enough this time: the target holds 1,202 rows, the mismatch of 18 blocks the switch. With None as the defect and counts selected, the cutover is clean.
Writes during the copy
Keep the defect at None and clear Replay captured changes (CDC) after the copy. The 20 inserts never reach the target, so counts show 1,220 against 1,200 and block the switch. Checksums report 40 differing rows, because the 20 updated rows also kept their old values; a count can never see a stale update. Set Writes during the copy to 0 and the copy alone is correct. A snapshot copy is only consistent if the changes made while it ran are replayed.
Freeze the switch
With no defect and CDC on, clear Freeze writes during the switch. The 10 writes during the switch window are accepted by the old store and never copied: DATA LOSS with 10 records missing. Move Writes during the switch window to 50 and 50 are lost; with freeze on, that slider has no effect. Under the opening settings an unfrozen switch adds those 10 to the 36 truncated names, 46 in all.
Transport and assumptions
Play or Pause the sixty-second inspection, Next event to step, Restart, Speed from 0.25× to 2×, or drag Inspection time; the trace, state board, verdict and metrics settle at 60 s, while the Source and target comparison table and the preview show the computed outcome immediately. Network failures, ordering of change events, other schema mappings and rollback after cutover are not modeled. Replay is treated as a single pass after the copy; a real CDC stream can keep running through the switch, which narrows but does not remove the need for a brief write freeze or dual-write check.