Skip to content

Commit 241b1c3

Browse files
committed
Rename to TransferDirectoryMaxConcurrency
Signed-off-by: Andre Kurait <[email protected]>
1 parent f81225e commit 241b1c3

File tree

8 files changed

+42
-28
lines changed

8 files changed

+42
-28
lines changed

.changes/next-release/feature-S3TransferManager-ca5314b.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"type": "feature",
33
"category": "S3 Transfer Manager",
44
"contributor": "AndreKurait",
5-
"description": "Extend [#5031](https://github.com/aws/aws-sdk-java-v2/pull/5031) by allowing user configuration of directoryTransferMaxConcurrency during construction of S3TransferManager. This allows for more control of upper limits on JVM Heap memory allocation. See [#6330](https://github.com/aws/aws-sdk-java-v2/issues/6330)."
5+
"description": "Extend [#5031](https://github.com/aws/aws-sdk-java-v2/pull/5031) by allowing user configuration of transferDirectoryMaxConcurrency during construction of S3TransferManager. This allows for more control of upper limits on JVM Heap memory allocation. See [#6330](https://github.com/aws/aws-sdk-java-v2/issues/6330)."
66
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -787,10 +787,10 @@ interface Builder {
787787
* <p>
788788
* Default to 100
789789
*
790-
* @param directoryTransferMaxConcurrency the maximum number of concurrent file transfers
790+
* @param transferDirectoryMaxConcurrency the maximum number of concurrent file transfers
791791
* @return This builder for method chaining.
792792
*/
793-
Builder directoryTransferMaxConcurrency(Integer directoryTransferMaxConcurrency);
793+
Builder transferDirectoryMaxConcurrency(Integer transferDirectoryMaxConcurrency);
794794

795795
/**
796796
* Builds an instance of {@link S3TransferManager} based on the settings supplied to this builder

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public final class TransferConfigurationOption<T> extends AttributeMap.Key<T> {
3333
new TransferConfigurationOption<>("UploadDirectoryFileVisitOption", Boolean.class);
3434

3535
public static final TransferConfigurationOption<Integer> DIRECTORY_TRANSFER_MAX_CONCURRENCY =
36-
new TransferConfigurationOption<>("DirectoryTransferMaxConcurrency", Integer.class);
36+
new TransferConfigurationOption<>("TransferDirectoryMaxConcurrency", Integer.class);
3737

3838
public static final TransferConfigurationOption<Executor> EXECUTOR =
3939
new TransferConfigurationOption<>("Executor", Executor.class);

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ private TransferManagerConfiguration(Builder builder) {
4343
AttributeMap.Builder standardOptions = AttributeMap.builder();
4444
standardOptions.put(UPLOAD_DIRECTORY_FOLLOW_SYMBOLIC_LINKS, builder.uploadDirectoryFollowSymbolicLinks);
4545
standardOptions.put(UPLOAD_DIRECTORY_MAX_DEPTH, builder.uploadDirectoryMaxDepth);
46-
standardOptions.put(DIRECTORY_TRANSFER_MAX_CONCURRENCY, builder.directoryTransferMaxConcurrency);
46+
standardOptions.put(DIRECTORY_TRANSFER_MAX_CONCURRENCY, builder.transferDirectoryMaxConcurrency);
4747
finalizeExecutor(builder, standardOptions);
4848
options = standardOptions.build().merge(TRANSFER_MANAGER_DEFAULTS);
4949
}
@@ -99,7 +99,7 @@ public static final class Builder {
9999

100100
private Boolean uploadDirectoryFollowSymbolicLinks;
101101
private Integer uploadDirectoryMaxDepth;
102-
private Integer directoryTransferMaxConcurrency;
102+
private Integer transferDirectoryMaxConcurrency;
103103
private Executor executor;
104104

105105

@@ -113,8 +113,8 @@ public Builder uploadDirectoryMaxDepth(Integer uploadDirectoryMaxDepth) {
113113
return this;
114114
}
115115

116-
public Builder directoryTransferMaxConcurrency(Integer directoryTransferMaxConcurrency) {
117-
this.directoryTransferMaxConcurrency = directoryTransferMaxConcurrency;
116+
public Builder transferDirectoryMaxConcurrency(Integer transferDirectoryMaxConcurrency) {
117+
this.transferDirectoryMaxConcurrency = transferDirectoryMaxConcurrency;
118118
return this;
119119
}
120120

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ private static TransferManagerConfiguration resolveTransferManagerConfiguration(
8686
TransferManagerConfiguration.Builder transferConfigBuilder = TransferManagerConfiguration.builder();
8787
transferConfigBuilder.uploadDirectoryFollowSymbolicLinks(tmBuilder.uploadDirectoryFollowSymbolicLinks);
8888
transferConfigBuilder.uploadDirectoryMaxDepth(tmBuilder.uploadDirectoryMaxDepth);
89-
transferConfigBuilder.directoryTransferMaxConcurrency(tmBuilder.directoryTransferMaxConcurrency);
89+
transferConfigBuilder.transferDirectoryMaxConcurrency(tmBuilder.transferDirectoryMaxConcurrency);
9090
transferConfigBuilder.executor(tmBuilder.executor);
9191
return transferConfigBuilder.build();
9292
}
@@ -96,7 +96,7 @@ public static final class DefaultBuilder implements S3TransferManager.Builder {
9696
private Executor executor;
9797
private Boolean uploadDirectoryFollowSymbolicLinks;
9898
private Integer uploadDirectoryMaxDepth;
99-
private Integer directoryTransferMaxConcurrency;
99+
private Integer transferDirectoryMaxConcurrency;
100100

101101
@Override
102102
public DefaultBuilder s3Client(S3AsyncClient s3AsyncClient) {
@@ -139,17 +139,17 @@ public Integer getUploadDirectoryMaxDepth() {
139139
}
140140

141141
@Override
142-
public DefaultBuilder directoryTransferMaxConcurrency(Integer directoryTransferMaxConcurrency) {
143-
this.directoryTransferMaxConcurrency = directoryTransferMaxConcurrency;
142+
public DefaultBuilder transferDirectoryMaxConcurrency(Integer transferDirectoryMaxConcurrency) {
143+
this.transferDirectoryMaxConcurrency = transferDirectoryMaxConcurrency;
144144
return this;
145145
}
146146

147-
public void setDirectoryTransferMaxConcurrency(Integer directoryTransferMaxConcurrency) {
148-
directoryTransferMaxConcurrency(directoryTransferMaxConcurrency);
147+
public void setTransferDirectoryMaxConcurrency(Integer transferDirectoryMaxConcurrency) {
148+
transferDirectoryMaxConcurrency(transferDirectoryMaxConcurrency);
149149
}
150150

151-
public Integer getDirectoryTransferMaxConcurrency() {
152-
return directoryTransferMaxConcurrency;
151+
public Integer getTransferDirectoryMaxConcurrency() {
152+
return transferDirectoryMaxConcurrency;
153153
}
154154

155155
@Override

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -586,10 +586,10 @@ void downloadDirectory_customMaxConcurrency_shouldLimitConcurrentOperations() th
586586
});
587587

588588
// Configure with our expected limit
589-
// To verify test works as intended, verify test failure when directoryTransferMaxConcurrency is
589+
// To verify test works as intended, verify test failure when transferDirectoryMaxConcurrency is
590590
// configuredMaxConcurrency + 1 or configuredMaxConcurrency - 1
591591
TransferManagerConfiguration customConfig = TransferManagerConfiguration.builder()
592-
.directoryTransferMaxConcurrency(configuredMaxConcurrency)
592+
.transferDirectoryMaxConcurrency(configuredMaxConcurrency)
593593
.build();
594594

595595
DownloadDirectoryHelper customHelper = new DownloadDirectoryHelper(

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

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,32 @@ public void resolveFollowSymlinks_requestOverride_requestOverrideShouldTakePrece
5959
}
6060

6161
@Test
62-
public void noOverride_shouldUseDefaults() {
63-
transferManagerConfiguration = TransferManagerConfiguration.builder().build();
64-
assertThat(transferManagerConfiguration.option(UPLOAD_DIRECTORY_FOLLOW_SYMBOLIC_LINKS)).isFalse();
65-
assertThat(transferManagerConfiguration.option(UPLOAD_DIRECTORY_MAX_DEPTH)).isEqualTo(Integer.MAX_VALUE);
66-
assertThat(transferManagerConfiguration.option(DIRECTORY_TRANSFER_MAX_CONCURRENCY)).isEqualTo(100);
67-
assertThat(transferManagerConfiguration.option(EXECUTOR)).isNotNull();
62+
public void noOverride_orNullOverride_shouldUseDefaults() {
63+
assertDefaultTransferManagerConfiguration(
64+
TransferManagerConfiguration.builder().build()
65+
);
66+
67+
assertDefaultTransferManagerConfiguration(
68+
TransferManagerConfiguration.builder()
69+
.transferDirectoryMaxConcurrency(null)
70+
.executor(null)
71+
.uploadDirectoryFollowSymbolicLinks(null)
72+
.uploadDirectoryMaxDepth(null)
73+
.build()
74+
);
75+
}
76+
77+
private void assertDefaultTransferManagerConfiguration(TransferManagerConfiguration config) {
78+
assertThat(config.option(UPLOAD_DIRECTORY_FOLLOW_SYMBOLIC_LINKS)).isFalse();
79+
assertThat(config.option(UPLOAD_DIRECTORY_MAX_DEPTH)).isEqualTo(Integer.MAX_VALUE);
80+
assertThat(config.option(DIRECTORY_TRANSFER_MAX_CONCURRENCY)).isEqualTo(100);
81+
assertThat(config.option(EXECUTOR)).isNotNull();
6882
}
6983

7084
@Test
71-
public void directoryTransferMaxConcurrency_customValue_shouldBeStored() {
85+
public void transferDirectoryMaxConcurrency_customValue_shouldBeStored() {
7286
transferManagerConfiguration = TransferManagerConfiguration.builder()
73-
.directoryTransferMaxConcurrency(50)
87+
.transferDirectoryMaxConcurrency(50)
7488
.build();
7589
assertThat(transferManagerConfiguration.option(DIRECTORY_TRANSFER_MAX_CONCURRENCY)).isEqualTo(50);
7690
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,10 +522,10 @@ void uploadDirectory_customMaxConcurrency_shouldLimitConcurrentOperations() thro
522522
});
523523

524524
// Configure with our expected limit
525-
// To verify test works as intended, verify test failure when directoryTransferMaxConcurrency is
525+
// To verify test works as intended, verify test failure when transferDirectoryMaxConcurrency is
526526
// configuredMaxConcurrency + 1 or configuredMaxConcurrency - 1
527527
TransferManagerConfiguration customConfig = TransferManagerConfiguration.builder()
528-
.directoryTransferMaxConcurrency(configuredMaxConcurrency)
528+
.transferDirectoryMaxConcurrency(configuredMaxConcurrency)
529529
.build();
530530

531531
UploadDirectoryHelper customHelper = new UploadDirectoryHelper(customConfig, singleUploadFunction);

0 commit comments

Comments
 (0)