Skip to content

enabled md5 checksum for object - #137

Open
vijaypdwivedi wants to merge 2 commits into
masterfrom
feature-OBS04O-108-MD5-calculation
Open

enabled md5 checksum for object#137
vijaypdwivedi wants to merge 2 commits into
masterfrom
feature-OBS04O-108-MD5-calculation

Conversation

@vijaypdwivedi

@vijaypdwivedi vijaypdwivedi commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

OBS04O-108: Enable Content-MD5 checksum verification for ECS S3 multipart upload parts

Summary

Added Content-MD5 checksum verification on individual uploadPart() requests. Previously, only putObject() had the VERIFY_WRITE_CHECKSUM property set, meaning ChecksumFilter would compute and verify Content-MD5 for single-part uploads but skip it for multipart upload parts. This left MPU parts without client-side integrity verification.

Changes:

S3JerseyClient.java
• Added request.property(RestUtil.PROPERTY_VERIFY_WRITE_CHECKSUM, Boolean.TRUE) in uploadPart() — enables ChecksumFilter to compute Content-MD5 for each uploaded part and verify it against the server-returned ETag
• Restored 2-arg constructor S3JerseyClient(S3Config, ConnectorProvider) for Jersey 2.x compatibility (was lost during Java 17 / Jersey 1.x → 2.x migration)

S3JerseyClientTest.java
• Added test cases for uploadPart() checksum verification -> ChecksumFilter verifies MD5 vs ETag per part

@xiaoxin-ren xiaoxin-ren left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please confirm no false-positive ChecksumError on encrypted/D@RE buckets for MPU, and add a test for that case.
Otherwise, looks good to me.

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.

3 participants