Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,7 @@ S3ClientSettings refine(Settings repositorySettings) {
&& newConnectionTTLMillis == connectionTTLMillis
&& newMaxConnections == maxConnections
&& newConnectionAcquisitionTimeoutMillis == connectionAcquisitionTimeoutMillis
&& newMaxSyncConnections == maxSyncConnections // added maxSyncConnections
&& maxRetries == newMaxRetries
&& newThrottleRetries == throttleRetries
&& Objects.equals(credentials, newCredentials)
Expand Down Expand Up @@ -673,14 +674,15 @@ public boolean equals(final Object o) {
&& connectionTimeoutMillis == that.connectionTimeoutMillis
&& connectionTTLMillis == that.connectionTTLMillis
&& maxConnections == that.maxConnections
&& maxSyncConnections == that.maxSyncConnections // fixed here
&& connectionAcquisitionTimeoutMillis == that.connectionAcquisitionTimeoutMillis
&& maxRetries == that.maxRetries
&& throttleRetries == that.throttleRetries
&& Objects.equals(credentials, that.credentials)
&& Objects.equals(endpoint, that.endpoint)
&& protocol == that.protocol
&& proxySettings.equals(that.proxySettings)
&& Objects.equals(disableChunkedEncoding, that.disableChunkedEncoding)
&& disableChunkedEncoding == that.disableChunkedEncoding
&& Objects.equals(region, that.region)
&& Objects.equals(signerOverride, that.signerOverride)
&& Objects.equals(irsaCredentials, that.irsaCredentials);
Expand All @@ -698,6 +700,7 @@ public int hashCode() {
connectionTimeoutMillis,
connectionTTLMillis,
maxConnections,
maxSyncConnections, // fixed here
connectionAcquisitionTimeoutMillis,
maxRetries,
throttleRetries,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ public Map<String, Repository.Factory> getRepositories(
@Override
public List<Setting<?>> getSettings() {
return Arrays.asList(
// named s3 client configuration settings
// s3 client configuration settings
S3ClientSettings.ACCESS_KEY_SETTING,
S3ClientSettings.SECRET_KEY_SETTING,
S3ClientSettings.SESSION_TOKEN_SETTING,
Expand All @@ -356,26 +356,18 @@ public List<Setting<?>> getSettings() {
S3ClientSettings.PROXY_PORT_SETTING,
S3ClientSettings.PROXY_USERNAME_SETTING,
S3ClientSettings.PROXY_PASSWORD_SETTING,
S3ClientSettings.READ_TIMEOUT_SETTING,
S3ClientSettings.MAX_RETRIES_SETTING,
S3ClientSettings.USE_THROTTLE_RETRIES_SETTING,
S3ClientSettings.USE_PATH_STYLE_ACCESS,
S3Repository.ACCESS_KEY_SETTING,
S3Repository.SECRET_KEY_SETTING,
S3ClientSettings.SIGNER_OVERRIDE,
S3ClientSettings.REGION,
S3ClientSettings.ROLE_ARN_SETTING,
S3ClientSettings.IDENTITY_TOKEN_FILE_SETTING,
S3ClientSettings.ROLE_SESSION_NAME_SETTING,
S3ClientSettings.LEGACY_MD5_CHECKSUM_CALCULATION,
S3Repository.PARALLEL_MULTIPART_UPLOAD_MINIMUM_PART_SIZE_SETTING,
S3Repository.PARALLEL_MULTIPART_UPLOAD_ENABLED_SETTING,
S3Repository.REDIRECT_LARGE_S3_UPLOAD,
S3Repository.UPLOAD_RETRY_ENABLED,
S3Repository.S3_PRIORITY_PERMIT_ALLOCATION_PERCENT,
S3Repository.PERMIT_BACKED_TRANSFER_ENABLED,
S3Repository.S3_ASYNC_HTTP_CLIENT_TYPE
);

// additional s3 client configuration settings added in this PR
S3ClientSettings.MAX_SYNC_CONNECTIONS_SETTING,
S3ClientSettings.CONNECTION_ACQUISITION_TIMEOUT,
S3ClientSettings.MAX_PENDING_CONNECTION_ACQUIRES,
S3ClientSettings.DISABLE_CHUNKED_ENCODING
);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,17 @@ public void testGetExecutorBuilders() throws IOException {
);
}
assertTrue(plugin.getSettings().contains(S3Repository.S3_ASYNC_HTTP_CLIENT_TYPE));
// New assertion for your bug fix
assertTrue(plugin.getSettings().contains(S3ClientSettings.DISABLE_CHUNKED_ENCODING));
// settings added to expose missing s3.client.* configs
assertTrue(plugin.getSettings().contains(S3ClientSettings.REQUEST_TIMEOUT_SETTING));
assertTrue(plugin.getSettings().contains(S3ClientSettings.CONNECTION_TIMEOUT_SETTING));
assertTrue(plugin.getSettings().contains(S3ClientSettings.CONNECTION_TTL_SETTING));
assertTrue(plugin.getSettings().contains(S3ClientSettings.MAX_CONNECTIONS_SETTING));
assertTrue(plugin.getSettings().contains(S3ClientSettings.MAX_SYNC_CONNECTIONS_SETTING));
assertTrue(plugin.getSettings().contains(S3ClientSettings.CONNECTION_ACQUISITION_TIMEOUT));
assertTrue(plugin.getSettings().contains(S3ClientSettings.MAX_PENDING_CONNECTION_ACQUIRES));

} finally {
if (threadPool != null) {
terminate(threadPool);
Expand Down
Loading