Skip to content

fix: skip conditional put headers for S3-compatible endpoints - #22

Merged
mondalaci merged 1 commit into
masterfrom
fix/b2-index-conditional-headers
Aug 3, 2026
Merged

mondalaci merged 1 commit into
masterfrom
fix/b2-index-conditional-headers

Conversation

@mondalaci

Copy link
Copy Markdown
Member

Summary

  • B2 rejects `If-Match` / `If-None-Match` on PutObject (`501 NotImplemented`), which broke index updates after successful file uploads in `build-archiver-test`.
  • Only send conditional headers when talking to AWS (no custom endpoint).
  • For custom endpoints, put then verify the commit's files are present and retry the merge if a concurrent writer won.

Test plan

  • Merge to `master`
  • Re-run `build-archiver-test` (`@master`) and confirm `build-archiver-test/index.json` is written on B2

Made with Cursor

Backblaze B2 returns 501 NotImplemented for If-Match / If-None-Match on
PutObject. Keep AWS optimistic locking; for custom endpoints put without
those headers and verify/retry after concurrent writes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mondalaci
mondalaci merged commit a102926 into master Aug 3, 2026
@mondalaci
mondalaci deleted the fix/b2-index-conditional-headers branch August 3, 2026 10:02
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