Skip to content

fix(api): terminalize stale archived snapshot jobs - #365

Merged
haasonsaas merged 1 commit into
mainfrom
fix/sandboxwich-stale-snapshot-20260812
Aug 12, 2026
Merged

fix(api): terminalize stale archived snapshot jobs#365
haasonsaas merged 1 commit into
mainfrom
fix/sandboxwich-stale-snapshot-20260812

Conversation

@haasonsaas

Copy link
Copy Markdown
Contributor

Summary

  • terminalize legacy queued standalone snapshot jobs when their source sandbox is archiving or archived
  • keep intentional ForkSandbox restore jobs claimable from archived persisted snapshots
  • allow exact queued snapshot operation cancellation to fail the pending snapshot and waiting child sandboxes atomically

Verification

  • cargo fmt --all -- --check
  • cargo clippy -p sandboxwich-api --all-targets -- -D warnings
  • cargo test -p sandboxwich-api --test http_contract (135 passed)
  • SANDBOXWICH_UPDATE_OPENAPI_EXPORT=1 cargo test -p sandboxwich-api --bin sandboxwich-api api_contract::tests::committed_openapi_export_is_current

Root cause

Claim-time placement filtering correctly refuses queued jobs whose archived source has no valid placement, but legacy standalone snapshot jobs could remain queued indefinitely after the source sandbox entered teardown.

Rollback

Revert this commit; the existing claim filters and cancellation behavior remain available without the repair sweep.

@haasonsaas
haasonsaas merged commit 433fce4 into main Aug 12, 2026
25 of 26 checks passed
@haasonsaas
haasonsaas deleted the fix/sandboxwich-stale-snapshot-20260812 branch August 12, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant