Skip to content

Commit

Permalink
feat(s3stream): change the checksum algorithm to crc32c
Browse files Browse the repository at this point in the history
Signed-off-by: SSpirits <[email protected]>
  • Loading branch information
ShadowySpirits committed Apr 23, 2024
1 parent 5d03d8b commit f4aaf9f
Showing 1 changed file with 12 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3AsyncClient;
import software.amazon.awssdk.services.s3.S3AsyncClientBuilder;
import software.amazon.awssdk.services.s3.model.ChecksumAlgorithm;
import software.amazon.awssdk.services.s3.model.CompleteMultipartUploadRequest;
import software.amazon.awssdk.services.s3.model.CompletedMultipartUpload;
import software.amazon.awssdk.services.s3.model.CompletedPart;
Expand Down Expand Up @@ -408,7 +409,9 @@ private void write0(String path, ByteBuf data, CompletableFuture<Void> cf) {
if (null != tagging) {
builder.tagging(tagging);
}
PutObjectRequest request = builder.build();
PutObjectRequest request = builder
.checksumAlgorithm(ChecksumAlgorithm.CRC32_C)
.build();
AsyncRequestBody body = AsyncRequestBody.fromByteBuffersUnsafe(data.nioBuffers());
writeS3Client.putObject(request, body).thenAccept(putObjectResponse -> {
S3OperationStats.getInstance().uploadSizeTotalStats.add(MetricsLevel.INFO, objectSize);
Expand Down Expand Up @@ -554,7 +557,7 @@ void createMultipartUpload0(String path, CompletableFuture<String> cf) {
if (null != tagging) {
builder.tagging(tagging);
}
CreateMultipartUploadRequest request = builder.build();
CreateMultipartUploadRequest request = builder.checksumAlgorithm(ChecksumAlgorithm.CRC32_C).build();
writeS3Client.createMultipartUpload(request).thenAccept(createMultipartUploadResponse -> {
S3OperationStats.getInstance().createMultiPartUploadStats(true).record(timerUtil.elapsedAs(TimeUnit.NANOSECONDS));
cf.complete(createMultipartUploadResponse.uploadId());
Expand Down Expand Up @@ -598,8 +601,13 @@ private void uploadPart0(String path, String uploadId, int partNumber, ByteBuf p
TimerUtil timerUtil = new TimerUtil();
int size = part.readableBytes();
AsyncRequestBody body = AsyncRequestBody.fromByteBuffersUnsafe(part.nioBuffers());
UploadPartRequest request = UploadPartRequest.builder().bucket(bucket).key(path).uploadId(uploadId)
.partNumber(partNumber).build();
UploadPartRequest request = UploadPartRequest.builder()
.bucket(bucket)
.key(path)
.uploadId(uploadId)
.partNumber(partNumber)
.checksumAlgorithm(ChecksumAlgorithm.CRC32_C)
.build();
CompletableFuture<UploadPartResponse> uploadPartCf = writeS3Client.uploadPart(request, body);
uploadPartCf.thenAccept(uploadPartResponse -> {
S3OperationStats.getInstance().uploadSizeTotalStats.add(MetricsLevel.INFO, size);
Expand Down

0 comments on commit f4aaf9f

Please sign in to comment.