-
- Downloads
feature: make retry behavior user-configurable (#741)
* feature: add retry_config to aws_config::ConfigLoader and aws_config::default_provider feature: add retry_config to aws_types::Config and aws_types::Builder feature: add RetryConfig and RetryMode to smithy_types feature: create EnvironmentVariableRetryConfigProvider feature: create RetryConfigProviderChain feature: create ProfileFileRetryConfigProvider update: make smithy-types dep non-optional for aws-config add: smithy-types dep to aws-types * Update aws/rust-runtime/aws-config/src/lib.rs Co-authored-by:John DiSanti <jdisanti@amazon.com> * refactor: simplify configuration logic of retry_configs update: use non-allocating string comparison for RetryMode::from_str update: panic on setting invalid values for RetryConfig remove: provider chain for retry_config remove: ProvideRetryConfig trait and related functionality * update: AwsFluentClientDecorator to work with retry_config refactor: rename smithy_client::retry::Config.max_retries to max_attempts and fix code broken by this change add: RetryConfigDecorator to smithy codegen with example and test add: RetryConfigDecorator to decorators list add: update SharedConfigDecorator to work with retry_config add: prop getters to RetryConfig add: From<RetryConfig> for smithy_client::retry::Config update: RegionDecorator example of generated code sort: decorators list alphabetically * fix: clone moved valued in AwsFluentClientDecorator update: imds client to refer to max attempts instead of max retries fix: clippy lint about FromStr add: RetryModeErr error struct for when FromStr fails fix: code affected by added FromStr<RetryMode> trait usage * formatting: run rustfmt * format: use 1.53 version of fustfmt * fix: smithy_client tests broken by max_attempts change * fix: clarify some confusing counter logic around request attempts * update: set_retry_config example code to be more helpful fix: broken docs link * add: missing PartialEq impl for RetryConfig update: EnvironmentVariableRetryConfigProvider tests remove: unused import * update: CHANGELOGs * update: Config builder decorators to match Config builder methods * fix: old references to ProtocolConfig * refactor: surface all retry_config errors in the default_provider add: RetryConfigErr * update: Changelog to not new semantics of max_attempts update: Config::retry_config() example fix: copy paste error rename: RetryModeErr to RetryModeParseErr update: note valid retry modes in error message add: helper for creating RetryConfig that disables retries update: use Cow<&str> for RetryConfigErr to save on allocations add: FailedToParseMaxAttempts error when creating RetryConfig from invalid max_attempts update: don't ignore invalid/unparseable max_attempts update: note panic that can occur in retry_config::default_provider remove: invalid/useless code from RetryConfigDecorator.kt remove: inside baseball comments previously added to CHANGELOG * disable: adaptive RetryMode tests * fix: don't listen to the IDE, err is being used * fix: don't listen to the IDE, err is being used * fix: really struggling with this underscore * fix: typo in doc comment example * fix: typo in doc comment example fix: outdated tests * Update rust-runtime/smithy-client/src/retry.rs Co-authored-by:
Russell Cohen <russell.r.cohen@gmail.com> * update: retry_config::default_provider to consider precedence per-field instead of per struct add: RetryConfigBuilder to make the above possible update: Env and Profile provider for RetryConfig to return RetryConfigBuilder add: docs to generated retry_config builders add: from_slice method to os_shim_internal::Fs * update: use old ordering of decorators in AwsCodegenDecorator * update: use old ordering of decorators in AwsCodegenDecorator fix: os_shim_internal example not compiling formatting: run ktlint update: tests broken by RetryConfigDecorator.kt changes * formatting: don't use * imports in kotlin * fix: tests broken by stubConfigProject change * Update codegen/src/test/kotlin/software/amazon/smithy/rust/RetryConfigProviderConfigTest.kt Co-authored-by:
Russell Cohen <russell.r.cohen@gmail.com> * formatting: run ktlint * add: back accidentally removed presigning decorator Co-authored-by:
John DiSanti <jdisanti@amazon.com> Co-authored-by:
Russell Cohen <russell.r.cohen@gmail.com>
Showing
- CHANGELOG.md 7 additions, 0 deletionsCHANGELOG.md
- aws/SDK_CHANGELOG.md 11 additions, 0 deletionsaws/SDK_CHANGELOG.md
- aws/rust-runtime/aws-config/Cargo.toml 2 additions, 2 deletionsaws/rust-runtime/aws-config/Cargo.toml
- aws/rust-runtime/aws-config/src/default_provider.rs 229 additions, 15 deletionsaws/rust-runtime/aws-config/src/default_provider.rs
- aws/rust-runtime/aws-config/src/environment/mod.rs 4 additions, 0 deletionsaws/rust-runtime/aws-config/src/environment/mod.rs
- aws/rust-runtime/aws-config/src/environment/retry_config.rs 157 additions, 0 deletionsaws/rust-runtime/aws-config/src/environment/retry_config.rs
- aws/rust-runtime/aws-config/src/imds/client.rs 7 additions, 7 deletionsaws/rust-runtime/aws-config/src/imds/client.rs
- aws/rust-runtime/aws-config/src/lib.rs 28 additions, 1 deletionaws/rust-runtime/aws-config/src/lib.rs
- aws/rust-runtime/aws-config/src/profile/mod.rs 1 addition, 0 deletionsaws/rust-runtime/aws-config/src/profile/mod.rs
- aws/rust-runtime/aws-config/src/profile/retry_config.rs 153 additions, 0 deletionsaws/rust-runtime/aws-config/src/profile/retry_config.rs
- aws/rust-runtime/aws-hyper/tests/e2e_test.rs 19 additions, 18 deletionsaws/rust-runtime/aws-hyper/tests/e2e_test.rs
- aws/rust-runtime/aws-types/Cargo.toml 1 addition, 0 deletionsaws/rust-runtime/aws-types/Cargo.toml
- aws/rust-runtime/aws-types/src/config.rs 46 additions, 0 deletionsaws/rust-runtime/aws-types/src/config.rs
- aws/rust-runtime/aws-types/src/os_shim_internal.rs 32 additions, 4 deletionsaws/rust-runtime/aws-types/src/os_shim_internal.rs
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/AwsCodegenDecorator.kt 4 additions, 0 deletions...lin/software/amazon/smithy/rustsdk/AwsCodegenDecorator.kt
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/AwsFluentClientDecorator.kt 4 additions, 2 deletions...oftware/amazon/smithy/rustsdk/AwsFluentClientDecorator.kt
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt 31 additions, 9 deletions.../kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SharedConfigDecorator.kt 1 addition, 0 deletions...n/software/amazon/smithy/rustsdk/SharedConfigDecorator.kt
- aws/sdk-codegen/src/test/kotlin/software/amazon/smithy/rustsdk/EndpointConfigCustomizationTest.kt 5 additions, 10 deletions.../amazon/smithy/rustsdk/EndpointConfigCustomizationTest.kt
- aws/sdk-codegen/src/test/kotlin/software/amazon/smithy/rustsdk/SigV4SigningCustomizationTest.kt 3 additions, 1 deletion...re/amazon/smithy/rustsdk/SigV4SigningCustomizationTest.kt
Loading
Please register or sign in to comment