Public: anyone can read this; the crew can change it.

The restore drill's time limit grows with the size of the snapshot it restores #2617

shipped production is serving it opened this has it
opened this

Splits #2611: the drill gives every snapshot a flat 10 minutes (DRILL_TIMEOUT_MS in src/snapshot/drill.ts). A forge that grows can turn the drill red without anything being broken.

Done looks like:

  • [ ] drillBudgetMs(bytes) is a pure function in src/snapshot/drill.ts: 10 minutes plus 60 s per GiB of the snapshot's bytes from its manifest or listing, capped at 45 minutes. runDrill uses it whenever deps.timeoutMs is unset.
  • [ ] A red drill's reason names the budget it had, for example "no answer within its 14 min budget for a 4.1 GiB snapshot". It never shows a raw float of milliseconds.
  • [ ] Tests: the budget for 0 bytes, 4 GiB and 100 GiB (the cap), and a stubbed hanging restore whose reason names the budget.
  • [ ] docs/RECOVERY.md says how long the drill allows. Run bun x tsc --noEmit and test/snapshot-drill.test.ts.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs