Skip to content

Commit d3614ab

Browse files
committed
Rollback Enable default connection health monitoring for CRT HTTP clients
1 parent e7976ca commit d3614ab

File tree

5 files changed

+7
-161
lines changed

5 files changed

+7
-161
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "bugfix",
3+
"category": "AWS CRT HTTP Client",
4+
"contributor": "",
5+
"description": "Roll back enabling default connection health monitoring for CRT HTTP clients"
6+
}

http-clients/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtHttpClientBase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import static software.amazon.awssdk.crtcore.CrtConfigurationUtils.resolveProxy;
2020
import static software.amazon.awssdk.http.SdkHttpConfigurationOption.PROTOCOL;
2121
import static software.amazon.awssdk.http.crt.internal.AwsCrtConfigurationUtils.buildSocketOptions;
22-
import static software.amazon.awssdk.http.crt.internal.AwsCrtConfigurationUtils.defaultConnectionHealthConfiguration;
2322
import static software.amazon.awssdk.http.crt.internal.AwsCrtConfigurationUtils.resolveCipherPreference;
2423
import static software.amazon.awssdk.utils.FunctionalUtils.invokeSafely;
2524

@@ -99,7 +98,7 @@ abstract class AwsCrtHttpClientBase implements SdkAutoCloseable {
9998
this.maxStreamsPerEndpoint = config.get(SdkHttpConfigurationOption.MAX_CONNECTIONS);
10099
this.monitoringOptions =
101100
resolveHttpMonitoringOptions(builder.getConnectionHealthConfiguration())
102-
.orElseGet(() -> defaultConnectionHealthConfiguration(config));
101+
.orElse(null);
103102
this.maxConnectionIdleInMilliseconds = config.get(SdkHttpConfigurationOption.CONNECTION_MAX_IDLE_TIMEOUT).toMillis();
104103
this.connectionAcquisitionTimeout = config.get(SdkHttpConfigurationOption.CONNECTION_ACQUIRE_TIMEOUT).toMillis();
105104
this.proxyOptions = resolveProxy(builder.getProxyConfiguration(), tlsContext).orElse(null);

http-clients/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtConfigurationUtils.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,4 @@ public static TlsCipherPreference resolveCipherPreference(Boolean postQuantumTls
7272

7373
return pqTls;
7474
}
75-
76-
public static HttpMonitoringOptions defaultConnectionHealthConfiguration(AttributeMap config) {
77-
HttpMonitoringOptions httpMonitoringOptions = new HttpMonitoringOptions();
78-
httpMonitoringOptions.setMinThroughputBytesPerSecond(1);
79-
long readTimeout = config.get(SdkHttpConfigurationOption.READ_TIMEOUT).getSeconds();
80-
long writeTimeout = config.get(SdkHttpConfigurationOption.WRITE_TIMEOUT).getSeconds();
81-
int maxTimeout = NumericUtils.saturatedCast(Math.max(readTimeout, writeTimeout));
82-
httpMonitoringOptions.setAllowableThroughputFailureIntervalSeconds(maxTimeout);
83-
return httpMonitoringOptions;
84-
}
85-
8675
}

http-clients/aws-crt-client/src/test/java/software/amazon/awssdk/http/crt/NonResponsiveServerTest.java

Lines changed: 0 additions & 120 deletions
This file was deleted.

http-clients/aws-crt-client/src/test/java/software/amazon/awssdk/http/crt/internal/AwsCrtConfigurationUtilsTest.java

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -103,32 +103,4 @@ private static Stream<Arguments> tcpKeepAliveConfiguration() {
103103
)
104104
);
105105
}
106-
107-
@ParameterizedTest
108-
@MethodSource("defaultConnectionHealthConfigurationCases")
109-
void defaultConnectionHealthConfiguration_shouldUseMaxOfReadWriteTimeout(Duration readTimeout,
110-
Duration writeTimeout,
111-
int expectedInterval) {
112-
AttributeMap config = AttributeMap.builder()
113-
.put(SdkHttpConfigurationOption.READ_TIMEOUT, readTimeout)
114-
.put(SdkHttpConfigurationOption.WRITE_TIMEOUT, writeTimeout)
115-
.build();
116-
117-
HttpMonitoringOptions result = AwsCrtConfigurationUtils.defaultConnectionHealthConfiguration(config);
118-
119-
assertThat(result.getMinThroughputBytesPerSecond()).isEqualTo(1);
120-
assertThat(result.getAllowableThroughputFailureIntervalSeconds()).isEqualTo(expectedInterval);
121-
}
122-
123-
private static Stream<Arguments> defaultConnectionHealthConfigurationCases() {
124-
return Stream.of(
125-
Arguments.of(Duration.ofSeconds(30), Duration.ofSeconds(30), 30),
126-
Arguments.of(Duration.ofSeconds(60), Duration.ofSeconds(10), 60),
127-
Arguments.of(Duration.ofSeconds(10), Duration.ofSeconds(45), 45),
128-
// overflow: value exceeding Integer.MAX_VALUE should saturate
129-
Arguments.of(Duration.ofSeconds((long) Integer.MAX_VALUE + 1), Duration.ofSeconds(1), Integer.MAX_VALUE),
130-
Arguments.of(Duration.ofSeconds(1), Duration.ofSeconds((long) Integer.MAX_VALUE + 1), Integer.MAX_VALUE)
131-
);
132-
}
133-
134106
}

0 commit comments

Comments
 (0)