rustfs icon indicating copy to clipboard operation
rustfs copied to clipboard

fix: ensure version_id is returned in S3 response headers

Open loverustfs opened this issue 3 days ago • 0 comments

Type of Change

  • [ ] New Feature
  • [x] Bug Fix
  • [ ] Documentation
  • [ ] Performance Improvement
  • [x] Test/CI
  • [ ] Refactor
  • [ ] Other:

Related Issues

  • #1066

Summary of Changes

  • Ensure S3 responses return version_id for PutObject, CopyObject, and CompleteMultipartUpload when versioning is enabled, fixing Veeam VBR compatibility.
  • Added a comprehensive regression test suite (version_id_regression_test.rs) covering versioned and non-versioned buckets, multipart uploads, copy flows, and a Veeam-like backup workflow to guard against regressions.

Checklist

  • [ ] I have read and followed the CONTRIBUTING.md guidelines
  • [ ] Passed make pre-commit
  • [x] Added/updated necessary tests
  • [ ] Documentation updated (if needed)
  • [ ] CI/CD passed (if applicable)

Impact

  • [ ] Breaking change (compatibility)
  • [ ] Requires doc/config/deployment update
  • [x] Other impact: Improves S3 compatibility by returning version IDs; expected to be backward-compatible.

Additional Notes

  • Regression tests: cargo test -p e2e_test --lib version_id_regression_test -- --test-threads=1
  • Please run full pre-commit (make pre-commit) before merge.

loverustfs avatar Dec 26 '25 08:12 loverustfs