fix(s3): 404 satisfies fs.ErrNotExist — unblocks the #153 migration boot #163

Merged
Cordy merged 1 commit from fix/s3-notexist into main 2026-08-09 04:27:31 +00:00
Owner

The v0.5.2 dogfood deploy crashlooped: MigrateFile probing the empty bucket got the s3 driver's storage.ErrNotFound (not fs.ErrNotExist) and treated first-boot as a hard error — exactly the breadcrumb #152/#153 recorded and the deploy verified the hard way. Fix at the source: the driver's 404 mapping now returns errors.Join(storage.ErrNotFound, fs.ErrNotExist), so existing sentinel callers keep matching and every posix-parity caller (statestore included) can test not-exist uniformly. Migration never ran, so no partial state: PVC files intact, clean refusal as designed.

The v0.5.2 dogfood deploy crashlooped: `MigrateFile` probing the empty bucket got the s3 driver's `storage.ErrNotFound` (not `fs.ErrNotExist`) and treated first-boot as a hard error — exactly the breadcrumb #152/#153 recorded and the deploy verified the hard way. Fix at the source: the driver's 404 mapping now returns `errors.Join(storage.ErrNotFound, fs.ErrNotExist)`, so existing sentinel callers keep matching and every posix-parity caller (statestore included) can test not-exist uniformly. Migration never ran, so no partial state: PVC files intact, clean refusal as designed.
fix(s3): 404 satisfies fs.ErrNotExist via errors.Join — unblocks state migration boot (#153)
All checks were successful
ci / test-and-build (pull_request) Successful in 32s
bcf37a065a
Cordy merged commit d3a5425067 into main 2026-08-09 04:27:31 +00:00
Cordy deleted branch fix/s3-notexist 2026-08-09 04:27:34 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#163
No description provided.