Skip to content

Commit 7a614f6

Browse files
committed
TIKA-4524: try using requestChecksumCalculation instead of checksum
1 parent 0bc03ab commit 7a614f6

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

tika-integration-tests/tika-pipes-s3-integration-tests/src/test/java/org/apache/tika/pipes/s3/tests/S3PipeIntegrationTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import java.security.NoSuchAlgorithmException;
2626
import java.time.Duration;
2727
import java.time.temporal.ChronoUnit;
28-
import java.util.Base64;
2928
import java.util.HashSet;
3029
import java.util.Set;
3130

@@ -46,11 +45,11 @@
4645
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
4746
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
4847
import software.amazon.awssdk.core.ResponseInputStream;
48+
import software.amazon.awssdk.core.checksums.RequestChecksumCalculation;
4949
import software.amazon.awssdk.core.sync.RequestBody;
5050
import software.amazon.awssdk.regions.Region;
5151
import software.amazon.awssdk.services.s3.S3Client;
5252
import software.amazon.awssdk.services.s3.S3Configuration;
53-
import software.amazon.awssdk.services.s3.model.ChecksumAlgorithm;
5453
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
5554
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
5655
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
@@ -97,10 +96,11 @@ private void createTestFiles() throws NoSuchAlgorithmException {
9796
// https://github.com/minio/minio/issues/17662
9897
// https://github.com/minio/minio/issues/20845
9998
MessageDigest md = MessageDigest.getInstance("SHA256");
100-
byte [] hash = md.digest(bytes);
101-
String enc64 = Base64.getEncoder().encodeToString(hash);
99+
//byte [] hash = md.digest(bytes);
100+
//String enc64 = Base64.getEncoder().encodeToString(hash);
102101
PutObjectRequest request = PutObjectRequest.builder().bucket(FETCH_BUCKET).key(nextFileName).
103-
checksumAlgorithm(ChecksumAlgorithm.SHA256).checksumSHA256(enc64).build();
102+
//checksumAlgorithm(ChecksumAlgorithm.SHA256).checksumSHA256(enc64).
103+
build();
104104
RequestBody requestBody = RequestBody.fromBytes(bytes);
105105
s3Client.putObject(request, requestBody);
106106
}
@@ -122,7 +122,9 @@ private void initializeS3Client() throws URISyntaxException {
122122
// https://github.com/aws/aws-sdk-java-v2/discussions/3536
123123
StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(awsCreds);
124124
S3Configuration s3c = S3Configuration.builder().pathStyleAccessEnabled(true).build(); // SO11228792
125-
s3Client = S3Client.builder().serviceConfiguration(s3c).region(REGION).
125+
s3Client = S3Client.builder().
126+
requestChecksumCalculation(RequestChecksumCalculation.WHEN_REQUIRED). // https://stackoverflow.com/a/79488850/535646
127+
serviceConfiguration(s3c).region(REGION).
126128
credentialsProvider(credentialsProvider).endpointOverride(new URI(MINIO_ENDPOINT)).build();
127129
}
128130

0 commit comments

Comments
 (0)