Skip to content

Commit e96d5c6

Browse files
committed
Fix timeout config to check behavior version and update test expectations
1 parent 9cdf2a6 commit e96d5c6

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

aws/codegen-aws-sdk/src/test/kotlin/software/amazon/smithy/rustsdk/TimeoutConfigMergingTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ class TimeoutConfigMergingTest {
159159
&TimeoutConfig::builder()
160160
.read_timeout(Duration::from_secs(10))
161161
.connect_timeout(connect_timeout)
162+
.disable_operation_timeout()
163+
.disable_operation_attempt_timeout()
162164
.build(),
163165
"read timeout overridden"
164166
);

rust-runtime/aws-smithy-runtime/src/client/defaults.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ pub fn default_timeout_config_plugin() -> Option<SharedRuntimePlugin> {
220220
pub fn default_timeout_config_plugin_v2(
221221
params: &DefaultPluginParams,
222222
) -> Option<SharedRuntimePlugin> {
223+
let behavior_version = params.behavior_version.unwrap_or_else(BehaviorVersion::latest);
223224
let is_aws_sdk = params.is_aws_sdk;
224225
Some(
225226
default_plugin("default_timeout_config_plugin", |components| {
@@ -228,15 +229,14 @@ pub fn default_timeout_config_plugin_v2(
228229
))
229230
})
230231
.with_config(layer("default_timeout_config", |layer| {
231-
let timeout_config = if is_aws_sdk {
232-
// AWS SDK: Set connect_timeout, explicitly disable operation timeouts
232+
#[allow(deprecated)]
233+
let timeout_config = if is_aws_sdk && behavior_version.is_at_least(BehaviorVersion::v2025_08_07()) {
234+
// AWS SDK with new behavior version: Set connect_timeout, leave operation timeouts unset
233235
TimeoutConfig::builder()
234236
.connect_timeout(Duration::from_millis(3100))
235-
.disable_operation_timeout()
236-
.disable_operation_attempt_timeout()
237237
.build()
238238
} else {
239-
// Non-AWS SDK: All timeouts disabled
239+
// Old behavior versions or non-AWS SDK: All timeouts disabled
240240
TimeoutConfig::disabled()
241241
};
242242
layer.store_put(timeout_config);

0 commit comments

Comments
 (0)