Skip to content

Commit 032c9a8

Browse files
committed
Adds in support for S3 CRT client
1 parent 68651ec commit 032c9a8

23 files changed

+629
-222
lines changed

hadoop-project/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205
<surefire.fork.timeout>900</surefire.fork.timeout>
206206
<aws-java-sdk.version>1.12.720</aws-java-sdk.version>
207207
<aws-java-sdk-v2.version>2.25.53</aws-java-sdk-v2.version>
208+
<software.amazon.awssdk.crt.version>0.29.11</software.amazon.awssdk.crt.version>
208209
<amazon-s3-encryption-client-java.version>3.1.1</amazon-s3-encryption-client-java.version>
209210
<amazon-s3-analyticsaccelerator-s3.version>1.0.0</amazon-s3-analyticsaccelerator-s3.version>
210211
<aws.eventstream.version>1.0.1</aws.eventstream.version>
@@ -1103,6 +1104,11 @@
11031104
</exclusion>
11041105
</exclusions>
11051106
</dependency>
1107+
<dependency>
1108+
<groupId>software.amazon.awssdk.crt</groupId>
1109+
<artifactId>aws-crt</artifactId>
1110+
<version>${software.amazon.awssdk.crt.version}</version>
1111+
</dependency>
11061112
<dependency>
11071113
<groupId>software.amazon.encryption.s3</groupId>
11081114
<artifactId>amazon-s3-encryption-client-java</artifactId>

hadoop-tools/hadoop-aws/pom.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@
123123
<fs.s3a.scale.test.timeout>${fs.s3a.scale.test.timeout}</fs.s3a.scale.test.timeout>
124124
<!-- Stream Type -->
125125
<fs.s3a.input.stream.type>${stream}</fs.s3a.input.stream.type>
126+
<!-- S3 CRT Client -->
127+
<fs.s3a.crt.enabled>${fs.s3a.crt.enabled}</fs.s3a.crt.enabled>
126128
</systemPropertyVariables>
127129
</configuration>
128130
</plugin>
@@ -324,6 +326,19 @@
324326
</properties>
325327
</profile>
326328

329+
<!-- Use the S3 CRT client -->
330+
<profile>
331+
<id>crt</id>
332+
<activation>
333+
<property>
334+
<name>crt</name>
335+
</property>
336+
</activation>
337+
<properties>
338+
<fs.s3a.crt.enabled>true</fs.s3a.crt.enabled>
339+
</properties>
340+
</profile>
341+
327342
</profiles>
328343

329344
<build>
@@ -479,6 +494,11 @@
479494
<artifactId>bundle</artifactId>
480495
<scope>compile</scope>
481496
</dependency>
497+
<dependency>
498+
<groupId>software.amazon.awssdk.crt</groupId>
499+
<artifactId>aws-crt</artifactId>
500+
<scope>compile</scope>
501+
</dependency>
482502
<dependency>
483503
<groupId>software.amazon.encryption.s3</groupId>
484504
<artifactId>amazon-s3-encryption-client-java</artifactId>

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/Constants.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1828,12 +1828,21 @@ private Constants() {
18281828
*/
18291829
public static final String S3A_IO_RATE_LIMIT = "fs.s3a.io.rate.limit";
18301830

1831-
18321831
/**
18331832
* Prefix to configure Analytics Accelerator Library.
18341833
* Value: {@value}.
18351834
*/
18361835
public static final String ANALYTICS_ACCELERATOR_CONFIGURATION_PREFIX =
18371836
"fs.s3a.analytics.accelerator";
18381837

1838+
/**
1839+
* Flag to enable the CRT client. Value {@value}.
1840+
*/
1841+
public static final String CRT_CLIENT_ENABLED = "fs.s3a.crt.enabled";
1842+
1843+
/**
1844+
* Default value for {@link #DEFAULT_CRT_ENABLED}.
1845+
* Value: {@value}.
1846+
*/
1847+
public static final boolean DEFAULT_CRT_ENABLED = false;
18391848
}

0 commit comments

Comments
 (0)