Skip to content

fix: preserve lifecycle delete-marker cleanup - #344

Merged
cxymds merged 1 commit into
mainfrom
codex/fix-noncurrent-delete-marker
Aug 13, 2026
Merged

fix: preserve lifecycle delete-marker cleanup#344
cxymds merged 1 commit into
mainfrom
codex/fix-noncurrent-delete-marker

Conversation

@cxymds

@cxymds cxymds commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Serialize ExpiredObjectDeleteMarker=true for marker-only and noncurrent + marker lifecycle rules.
  • Preserve EODM through get -> edit -> set round trips.
  • Reject invalid current Days/Date + EODM and tag-filter + EODM combinations with usage errors.
  • Add a documented command example for noncurrent-version cleanup.

Root cause

The S3 adapter created LifecycleExpiration only when a current-version expiration existed. As a result, EODM was silently omitted for marker-only and noncurrent-only rules.

Related backlog issue

Partially implements rustfs/backlog#1849.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --workspace -- -D warnings
  • cargo test --workspace
  • Focused lifecycle and ILM rule regression tests

@cxymds
cxymds marked this pull request as ready for review August 13, 2026 09:04
@cxymds
cxymds merged commit df136d9 into main Aug 13, 2026
17 checks passed
@cxymds
cxymds deleted the codex/fix-noncurrent-delete-marker branch August 13, 2026 09:11
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