-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overhaul stalled stream protection and add upload support #3485
Conversation
A new generated diff is ready to view.
A new doc preview is ready to view. |
Results of running the stalled stream protection performance test in release mode.
These numbers are across six separate runs of the performance test each, averaged, and with a standard deviation applied. The performance is roughly the same, with maybe a miniscule amount of improvement. The new implementation uses 80 bytes of memory for the log instead of 1 kilobyte though. |
A new generated diff is ready to view.
A new doc preview is ready to view. |
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Outdated
Show resolved
Hide resolved
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Show resolved
Hide resolved
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Outdated
Show resolved
Hide resolved
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Show resolved
Hide resolved
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Show resolved
Hide resolved
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Outdated
Show resolved
Hide resolved
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/throughput.rs
Outdated
Show resolved
Hide resolved
A new generated diff is ready to view.
A new doc preview is ready to view. |
A new generated diff is ready to view.
A new doc preview is ready to view. |
rust-runtime/aws-smithy-runtime/src/client/http/body/minimum_throughput/http_body_0_4_x.rs
Show resolved
Hide resolved
017835c
to
0f1e009
Compare
A new generated diff is ready to view.
A new doc preview is ready to view. |
A new generated diff is ready to view.
A new doc preview is ready to view. |
A new generated diff is ready to view.
A new doc preview is ready to view. |
rust-runtime/aws-smithy-runtime/src/test_util/capture_test_logs.rs
Outdated
Show resolved
Hide resolved
A new generated diff is ready to view.
A new doc preview is ready to view. |
)" This reverts commit 27834ae.
)" (#3534) The stalled stream protection changes are triggering a semver hazard that will break the release. Need to revert it temporarily to fix this issue. ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
Merging #3485 uncovered a semver hazard in the S3 stalled stream protection test due to a subtle (but intentional) change in grace period behavior for stalled streams. That semver hazard was going to cause the SDK release to fail, so #3485 was reverted, and this PR modifies the test so that it will pass with both versions of stalled stream protection as a temporary measure. Once this PR is merged and released, then the new stalled stream protection can be merged again. I tested this by updating the runtime-versioner in #3540 so that I could patch the currently released SDK with these test changes in place, with a local copy of smithy-rs that has the new stalled stream protection implementation. I ran all the tests across all the services in this configuration to verify this was the only hazard that will be hit. ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
This commit unreverts 27834ae (#3485). Original commit message: Overhaul stalled stream protection and add upload support (#3485) This PR overhauls the existing stalled stream protection with a new algorithm, and also adds support for minimum throughput on upload streams. The new algorithm adds support for differentiating between the user or the server causing the stall, and not timing out if it's the user causing the stall. This will fix timeout issues when a customer makes remote service calls in between streaming pieces of information.
This PR overhauls the existing stalled stream protection with a new algorithm, and also adds support for minimum throughput on upload streams. The new algorithm adds support for differentiating between the user or the server causing the stall, and not timing out if it's the user causing the stall. This will fix timeout issues when a customer makes remote service calls in between streaming pieces of information.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.