Skip to content

Drive GC payload discovery from ingest journals - #106

Merged
forhappy merged 2 commits into
mainfrom
codex/s3-production-readiness
Aug 17, 2026
Merged

Drive GC payload discovery from ingest journals#106
forhappy merged 2 commits into
mainfrom
codex/s3-production-readiness

Conversation

@forhappy

Copy link
Copy Markdown
Contributor

Summary

  • Add immutable, batched physical-object intent and completion journals for whole-object ingest windows.
  • Add start_gc_journaled for payload candidate discovery without listing the payload namespace.
  • Use completion metadata to avoid normal-case per-payload HEAD requests, with intent-based recovery for interrupted uploads.
  • Keep legacy start_gc scanning available for direct or pre-journal writers.
  • Fix terminal journal pages that omit a continuation token, preventing repeated manifest scans on RustFS/S3-compatible providers.
  • Keep payloads whole-object; no packing, chunking, multipart lifecycle, or per-file journal serialization is introduced.

Validation

  • Core GC and repository tests
  • Full client test suite
  • Strict workspace Clippy
  • Live RustFS 64-object journaled-GC qualification: completes successfully with zero payload HEAD requests

@forhappy
forhappy marked this pull request as ready for review August 17, 2026 01:57
@forhappy
forhappy merged commit 88e07c4 into main Aug 17, 2026
1 of 2 checks passed
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