From 268aa2ecad95fe5ea27a7bf495758a62764a9293 Mon Sep 17 00:00:00 2001 From: Zoe Wang <33073555+zoewangg@users.noreply.github.com> Date: Tue, 13 Jul 2021 16:25:41 -0700 Subject: [PATCH] Bump up CRT version, clean up resources in tests, fix credential adapter TODO --- pom.xml | 2 +- ...xceptionTransformationIntegrationTest.java | 36 +++++++++---------- .../CrtCredentialsProviderAdapter.java | 3 +- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 641e0c5ab56b..2f15bb43d080 100644 --- a/pom.xml +++ b/pom.xml @@ -112,7 +112,7 @@ 2.2.21 1.10 1.29 - 0.13.2 + 0.13.5 4.13.1 diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CrtExceptionTransformationIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CrtExceptionTransformationIntegrationTest.java index 5bd8659ab848..f61714e4efc4 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CrtExceptionTransformationIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CrtExceptionTransformationIntegrationTest.java @@ -16,7 +16,6 @@ package software.amazon.awssdk.transfer.s3; import org.junit.AfterClass; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import software.amazon.awssdk.services.s3.model.GetObjectRequest; @@ -41,33 +40,30 @@ public class CrtExceptionTransformationIntegrationTest extends S3IntegrationTest private static final int OBJ_SIZE = 8 * 1024; private static RandomTempFile testFile; - private S3TransferManager transferManager; - private S3CrtAsyncClient s3Crt; + private static S3TransferManager transferManager; + private static S3CrtAsyncClient s3Crt; @BeforeClass - public static void setupFixture() { + public static void setupFixture() throws IOException { createBucket(BUCKET); + testFile = new RandomTempFile(BUCKET, OBJ_SIZE); + s3Crt = S3CrtAsyncClient.builder() + .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) + .region(S3IntegrationTestBase.DEFAULT_REGION) + .build(); + transferManager = + S3TransferManager.builder() + .s3ClientConfiguration(b -> b.credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) + .region(S3IntegrationTestBase.DEFAULT_REGION)) + .build(); } @AfterClass public static void tearDownFixture() { deleteBucketAndAllContents(BUCKET); - } - - @Before - public void methodSetup() throws IOException { - testFile = new RandomTempFile(BUCKET, OBJ_SIZE); - s3Crt = S3CrtAsyncClient.builder() - .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) - .region(S3IntegrationTestBase.DEFAULT_REGION) - .build(); - transferManager = - S3TransferManager.builder() - .s3ClientConfiguration(b -> b.credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) - .region(S3IntegrationTestBase.DEFAULT_REGION) - .targetThroughputInGbps(20.0) - .minimumPartSizeInBytes(1000L)) - .build(); + s3Crt.close(); + transferManager.close(); + testFile.delete(); } @Test diff --git a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtCredentialsProviderAdapter.java b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtCredentialsProviderAdapter.java index 4a0b74aa9093..60b1ddd7bd16 100644 --- a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtCredentialsProviderAdapter.java +++ b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtCredentialsProviderAdapter.java @@ -42,8 +42,7 @@ public CrtCredentialsProviderAdapter(AwsCredentialsProvider credentialsProvider) byte[] accessKey = sdkCredentials.accessKeyId().getBytes(StandardCharsets.UTF_8); byte[] secreteKey = sdkCredentials.secretAccessKey().getBytes(StandardCharsets.UTF_8); - // TODO: confirm with CRT if set empty means null. Currently setting null causes the crash - byte[] sessionTokens = new byte[0]; + byte[] sessionTokens = null; if (sdkCredentials instanceof AwsSessionCredentials) { sessionTokens = ((AwsSessionCredentials) sdkCredentials).sessionToken().getBytes(StandardCharsets.UTF_8);