Description
Describe the bug
Hello,
We have self hosted s3 storage with pure flash blades with Version "Flash Blade S200 NVMe 4.5.7".
There is a Java Program which uses the software.amazon.awssdk.s3
https://mvnrepository.com/artifact/software.amazon.awssdk/s3
While uploading any file through this client s3, the checksum or payload of file is getting included in the file content, currently we have used 2.29.52 version and excluded the checksum which works fine, but later versions does not work, looks like adding checksum is enforced somewhere, this leads to file corruption issue.
Sample code:
putObj = PutObjectRequest.builder()
.bucket(S3ClientSingleton.bucket)
// .checksumAlgorithm(ChecksumAlgorithm.SHA256)
.key(String.valueOf(destinationS3Path))
.metadata(metadata)
.build();
return s3client.putObject(putObj, AsyncRequestBody.fromFile(sourceFilePath)).whenComplete((response, error) -> {
stopWatch.stop();
long timeTaken = stopWatch.getTime();
if (error != null) {
fLogger.severe(() -> String.format("Failed to upload file to S3 %s, error: %s",
destinationS3Path, error.getMessage()));
throw new CompletionException(error);
} else {
fLogger.info(() -> String.format(
"Uploaded Artifact to S3 Finished, s3_upload_time_taken=%dms, file: %s etag: %s",
timeTaken,
sourceFilePath,
response.eTag()
));
}
});
Please help us to get it fixed or find the root cause.
Regression Issue
- Select this option if this issue appears to be a regression.
Expected Behavior
With the latest aws s3 sdk the checksum should not get included in the file content. and file should not get corrupted
Current Behavior
File getting corrupted
Reproduction Steps
Deploy S3 server storage with Pure storage "Flash Blade S200 NVMe 4.5.7"
Use client https://mvnrepository.com/artifact/software.amazon.awssdk/s3/2.31.64
Possible Solution
Support to be included for flash storage in client s3
Additional Information/Context
No response
AWS Java SDK version used
2.31.64
JDK version used
17.0
Operating System and version
Mac os 15.5 (24F74)