fix: multipart upload checksum validation #712
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix Multipart Upload Checksum Validation
Summary
This PR implements comprehensive checksum validation for multipart uploads, addressing several critical issues in the upload completion process and enhancing data integrity verification.
Changes Made
🔧 Core Fixes
complete_multipart_uploadoperations📁 Files Modified
crates/ecstore/src/set_disk.rs(212 lines changed)complete_multipart_uploadcrates/filemeta/src/filemeta.rs(2 lines changed)FileInfotoMetaObjectcrates/rio/src/checksum.rs(6 lines added)merge()method toChecksumTypefor combining checksum typescrates/rio/src/hash_reader.rs(9 lines changed)add_non_trailing_checksumrustfs/src/storage/ecfs.rs(31 lines changed)Key Features
✅ Checksum Validation
🔒 Data Integrity
🚀 Performance Improvements
Technical Details
Checksum Validation Flow
Error Handling
Testing
The changes maintain backward compatibility while adding robust checksum validation. All existing functionality is preserved with enhanced data integrity verification.
Breaking Changes
None. This is a backward-compatible enhancement.
Related Issues
Fixes multipart upload checksum validation issues and improves data integrity for large file uploads.
Commit History:
1fe8c569- add log0f16018d- fix multipart upload checksum3e95199a- Merge remote-tracking branch 'origin/main' into feat/checksume7e36078- todo