Skip to content

Commit ddd3507

Browse files
committed
chore(provenance): record the deploy ordering the second pass depends on
promote-images needs migrate, so a script migration runs while the previous image is still serving. A row an old instance creates between this walk and the end of the rollout sits behind the cursor, and the name is recorded on success, so it is never offered again. Widening the walk would not help — the exposure is the minutes after it returns, not the milliseconds during — so the requirement is to ship it in a release after the writer fix is already promoted, which the file now says.
1 parent 28290e2 commit ddd3507

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

packages/db/script-migrations/0006_repair_unknown_table_row_provenance_second_pass.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,15 @@ import type { ScriptMigration } from './types'
1717
* remedy.
1818
*
1919
* A new entry rather than deleting 0005's tracking row: the registry is append-only, and a repair
20-
* that ran twice should say so twice. Ordered after the fix that stopped producing these — repairing
21-
* while the writer still creates them only refills the backlog.
20+
* that ran twice should say so twice.
21+
*
22+
* It assumes the writer that produced these is already live-fixed, and that is a deploy-ordering
23+
* requirement rather than something this file can enforce. `promote-images` needs `migrate`, so a
24+
* script migration runs while the previous image is still serving: any row an old instance creates
25+
* between this walk and the end of the rollout is behind the cursor, and the name is recorded on
26+
* success, so it is never offered again. Widening the walk would not help — it is the minutes after
27+
* it returns that are exposed, not the milliseconds during. Ship this in a release *after* the
28+
* writer fix is already promoted, and the window closes because nothing is producing rows to miss.
2229
*
2330
* Shares 0005's implementation rather than restating it. The walk locks the parent row before the
2431
* sidecar to match the application writer's order, and re-checks `status` under that lock so a

0 commit comments

Comments
 (0)