Skip to content

Commit e770e19

Browse files
committed
Update s3 crt client tests to verify resources are closed properly
1 parent b41e68d commit e770e19

File tree

9 files changed

+28
-3
lines changed

9 files changed

+28
-3
lines changed

services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3CrtClientPutObjectIntegrationTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public static void teardown() throws IOException {
8383
S3IntegrationTestBase.deleteBucketAndAllContents(TEST_BUCKET);
8484
Files.delete(testFile.toPath());
8585
executorService.shutdown();
86+
S3IntegrationTestBase.cleanUp();
8687
}
8788

8889
@Test

services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3CrtGetObjectIntegrationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,10 @@ public static void setup() throws IOException {
6464

6565
@AfterClass
6666
public static void cleanup() {
67+
crtClient.close();
6768
S3IntegrationTestBase.deleteBucketAndAllContents(BUCKET);
6869
executorService.shutdown();
70+
S3IntegrationTestBase.cleanUp();
6971
}
7072

7173
@Test

services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3IntegrationTestBase.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515

1616
package software.amazon.awssdk.transfer.s3;
1717

18+
import org.junit.AfterClass;
1819
import org.junit.BeforeClass;
20+
import software.amazon.awssdk.crt.CrtResource;
1921
import software.amazon.awssdk.regions.Region;
2022
import software.amazon.awssdk.services.s3.S3AsyncClient;
2123
import software.amazon.awssdk.services.s3.S3AsyncClientBuilder;
@@ -55,10 +57,16 @@ public class S3IntegrationTestBase extends AwsTestBase {
5557
*/
5658
@BeforeClass
5759
public static void setUp() throws Exception {
60+
System.setProperty("aws.crt.debugnative", "true");
5861
s3 = s3ClientBuilder().build();
5962
s3Async = s3AsyncClientBuilder().build();
6063
}
6164

65+
@AfterClass
66+
public static void cleanUp() {
67+
CrtResource.waitForNoResources();
68+
}
69+
6270
protected static S3ClientBuilder s3ClientBuilder() {
6371
return S3Client.builder()
6472
.region(DEFAULT_REGION)

services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadIntegrationTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public static void setup() throws IOException {
5252
public static void cleanup() {
5353
deleteBucketAndAllContents(BUCKET);
5454
transferManager.close();
55+
S3IntegrationTestBase.cleanUp();
5556
}
5657

5758
@Test

services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadIntegrationTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public static void teardown() throws IOException {
5656
tm.close();
5757
Files.delete(testFile.toPath());
5858
deleteBucketAndAllContents(TEST_BUCKET);
59+
S3IntegrationTestBase.cleanUp();
5960
}
6061

6162
@Test

services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/S3NativeClientConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import software.amazon.awssdk.crt.io.ClientBootstrap;
3434
import software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain;
3535
import software.amazon.awssdk.transfer.s3.SizeConstant;
36-
import software.amazon.awssdk.utils.Logger;
3736
import software.amazon.awssdk.utils.SdkAutoCloseable;
3837
import software.amazon.awssdk.utils.ThreadFactoryBuilder;
3938

@@ -42,7 +41,6 @@
4241
*/
4342
@SdkInternalApi
4443
public class S3NativeClientConfiguration implements SdkAutoCloseable {
45-
private static final Logger log = Logger.loggerFor(S3NativeClientConfiguration.class);
4644
private static final long DEFAULT_PART_SIZE_IN_BYTES = 8L * SizeConstant.MB;
4745
private static final long DEFAULT_TARGET_THROUGHPUT_IN_GBPS = 5;
4846
private final String signingRegion;

services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3NativeClientConfigurationTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,15 @@
1919
import static software.amazon.awssdk.core.client.config.SdkAdvancedAsyncClientOption.FUTURE_COMPLETION_EXECUTOR;
2020

2121
import java.util.concurrent.ExecutorService;
22+
import org.junit.AfterClass;
2223
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.mockito.Mock;
2627
import org.mockito.Mockito;
2728
import org.mockito.runners.MockitoJUnitRunner;
2829
import software.amazon.awssdk.core.client.config.ClientAsyncConfiguration;
30+
import software.amazon.awssdk.crt.CrtResource;
2931

3032
@RunWith(MockitoJUnitRunner.class)
3133
public class S3NativeClientConfigurationTest {
@@ -38,7 +40,10 @@ public static void setup() {
3840
System.setProperty("aws.crt.debugnative", "true");
3941
}
4042

41-
// TODO: verify CRT resources are closed appropriately
43+
@AfterClass
44+
public static void tearDown() {
45+
CrtResource.waitForNoResources();
46+
}
4247

4348
@Test
4449
public void defaultConfiguration_close_shouldShutdownDefaultExecutor() {

test/stability-tests/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@
117117
<version>${awsjavasdk.version}</version>
118118
<scope>test</scope>
119119
</dependency>
120+
<dependency>
121+
<groupId>software.amazon.awssdk.crt</groupId>
122+
<artifactId>aws-crt</artifactId>
123+
<version>${awscrt.version}</version>
124+
<scope>test</scope>
125+
</dependency>
120126
<dependency>
121127
<groupId>software.amazon.awssdk</groupId>
122128
<artifactId>s3-transfer-manager</artifactId>

test/stability-tests/src/it/java/software/amazon/awssdk/stability/tests/s3/S3CrtAsyncClientStabilityTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import org.junit.jupiter.api.AfterAll;
1919
import org.junit.jupiter.api.BeforeAll;
20+
import software.amazon.awssdk.crt.CrtResource;
2021
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
2122
import software.amazon.awssdk.regions.Region;
2223
import software.amazon.awssdk.services.s3.S3AsyncClient;
@@ -42,6 +43,7 @@ public S3CrtAsyncClientStabilityTest() {
4243

4344
@BeforeAll
4445
public static void setup() {
46+
System.setProperty("aws.crt.debugnative", "true");
4547
s3ApacheClient.createBucket(b -> b.bucket(BUCKET_NAME));
4648
}
4749

@@ -56,6 +58,7 @@ public static void cleanup() {
5658
}
5759
s3CrtAsyncClient.close();
5860
s3ApacheClient.close();
61+
CrtResource.waitForNoResources();
5962
}
6063

6164
@Override

0 commit comments

Comments
 (0)