The migration ran for 40 minutes and the deploy is half done
A release adds a NOT NULL column with a default to a 90-million-row table and deploys code that writes it. The migration is running as part of the deploy. Twenty minutes in, write latency on that table has climbed, replication lag is at four minutes, and half the fleet is on the new version. Someone asks whether to cancel the migration.
The fix that looks right
Killing the migration to relieve the lock and then re-running it "off-peak". On several engines, cancelling a rewrite triggers a rollback that holds resources for as long as the operation had been running and produces a second, longer period of degradation — with no progress to show for either. The related trap is retrying the identical statement at 2am: the migration is not too slow because of the time of day, it is too slow because it is a full-table rewrite, and it will be a full-table rewrite at 2am as well, just with fewer people awake to notice the replication lag.