Move fulfilling pending future outside the lock and ignore already completed futures#536
Merged
DmitriyMusatkin merged 14 commits intomainfrom Jul 17, 2025
Merged
Move fulfilling pending future outside the lock and ignore already completed futures#536DmitriyMusatkin merged 14 commits intomainfrom
DmitriyMusatkin merged 14 commits intomainfrom
Conversation
TingDaoK
reviewed
Jul 16, 2025
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #536 +/- ##
=======================================
Coverage 89.50% 89.51%
=======================================
Files 21 21
Lines 6567 6589 +22
=======================================
+ Hits 5878 5898 +20
- Misses 689 691 +2
🚀 New features to boost your workflow:
|
TingDaoK
approved these changes
Jul 16, 2025
passaro
added a commit
to passaro/mountpoint-s3
that referenced
this pull request
Jul 17, 2025
Update the `aws-c-s3` submodule to [v0.8.5](https://github.com/awslabs/aws-c-s3/releases/tag/v0.8.5), picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536)](awslabs/aws-c-s3#536). Change details: ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536) ``` Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
passaro
added a commit
to passaro/mountpoint-s3
that referenced
this pull request
Jul 17, 2025
Update the `aws-c-s3` submodule to [v0.8.5](https://github.com/awslabs/aws-c-s3/releases/tag/v0.8.5), picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536)](awslabs/aws-c-s3#536). Change details: ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536) ``` Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
github-merge-queue bot
pushed a commit
to awslabs/mountpoint-s3
that referenced
this pull request
Jul 17, 2025
Update the CRT submodules to the latest releases, picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (#536)](awslabs/aws-c-s3#536). <details> <summary>Full CRT changelog:</summary> ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-common aaa2f11e..2b67a658: > Add API for a more compact (no dashes) UUID-to-str (#1212) > Add a python script to help pick up the latest cjson and libcbor (#1211) > Fix byte helpers for mingw 32 bit (#1210) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (#1209) > Fix signature of aws_backtrace_log (#1206) > Remove clang-3 from CI (#1203) Submodule mountpoint-s3-crt-sys/crt/aws-c-http 10961a70..bfa03928: > support no_proxy excatly like CURL (#522) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (#521) Submodule mountpoint-s3-crt-sys/crt/aws-c-io ee7925a3..12cb9f9c: > stop packing future variable to avoid tsan data race warnings (#741) > Support s2n security policy for TLS 1.2 and FIPS (#739) Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (#536) ``` </details> ### Does this change impact existing behavior? No. ### Does this change need a changelog entry? Does it require a version change? Client changelog. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). --------- Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
passaro
added a commit
to passaro/mountpoint-s3
that referenced
this pull request
Jul 17, 2025
Update the CRT submodules to the latest releases, picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536)](awslabs/aws-c-s3#536). <details> <summary>Full CRT changelog:</summary> ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-common aaa2f11e..2b67a658: > Add API for a more compact (no dashes) UUID-to-str (awslabs#1212) > Add a python script to help pick up the latest cjson and libcbor (awslabs#1211) > Fix byte helpers for mingw 32 bit (awslabs#1210) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#1209) > Fix signature of aws_backtrace_log (awslabs#1206) > Remove clang-3 from CI (awslabs#1203) Submodule mountpoint-s3-crt-sys/crt/aws-c-http 10961a70..bfa03928: > support no_proxy excatly like CURL (awslabs#522) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#521) Submodule mountpoint-s3-crt-sys/crt/aws-c-io ee7925a3..12cb9f9c: > stop packing future variable to avoid tsan data race warnings (awslabs#741) > Support s2n security policy for TLS 1.2 and FIPS (awslabs#739) Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536) ``` </details> ### Does this change impact existing behavior? No. ### Does this change need a changelog entry? Does it require a version change? Client changelog. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
passaro
added a commit
to passaro/mountpoint-s3
that referenced
this pull request
Jul 17, 2025
Update the CRT submodules to the latest releases, picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536)](awslabs/aws-c-s3#536). <details> <summary>Full CRT changelog:</summary> ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-common aaa2f11e..2b67a658: > Add API for a more compact (no dashes) UUID-to-str (awslabs#1212) > Add a python script to help pick up the latest cjson and libcbor (awslabs#1211) > Fix byte helpers for mingw 32 bit (awslabs#1210) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#1209) > Fix signature of aws_backtrace_log (awslabs#1206) > Remove clang-3 from CI (awslabs#1203) Submodule mountpoint-s3-crt-sys/crt/aws-c-http 10961a70..bfa03928: > support no_proxy excatly like CURL (awslabs#522) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#521) Submodule mountpoint-s3-crt-sys/crt/aws-c-io ee7925a3..12cb9f9c: > stop packing future variable to avoid tsan data race warnings (awslabs#741) > Support s2n security policy for TLS 1.2 and FIPS (awslabs#739) Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536) ``` </details> ### Does this change impact existing behavior? No. ### Does this change need a changelog entry? Does it require a version change? Client changelog. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
mansi153
pushed a commit
to mansi153/mountpoint-s3
that referenced
this pull request
Jul 24, 2025
Update the CRT submodules to the latest releases, picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536)](awslabs/aws-c-s3#536). <details> <summary>Full CRT changelog:</summary> ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-common aaa2f11e..2b67a658: > Add API for a more compact (no dashes) UUID-to-str (awslabs#1212) > Add a python script to help pick up the latest cjson and libcbor (awslabs#1211) > Fix byte helpers for mingw 32 bit (awslabs#1210) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#1209) > Fix signature of aws_backtrace_log (awslabs#1206) > Remove clang-3 from CI (awslabs#1203) Submodule mountpoint-s3-crt-sys/crt/aws-c-http 10961a70..bfa03928: > support no_proxy excatly like CURL (awslabs#522) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#521) Submodule mountpoint-s3-crt-sys/crt/aws-c-io ee7925a3..12cb9f9c: > stop packing future variable to avoid tsan data race warnings (awslabs#741) > Support s2n security policy for TLS 1.2 and FIPS (awslabs#739) Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536) ``` </details> ### Does this change impact existing behavior? No. ### Does this change need a changelog entry? Does it require a version change? Client changelog. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). --------- Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
dannycjones
pushed a commit
to c-hagem/mountpoint-s3
that referenced
this pull request
Oct 9, 2025
Update the CRT submodules to the latest releases, picking up in particular: [Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536)](awslabs/aws-c-s3#536). <details> <summary>Full CRT changelog:</summary> ``` Submodule mountpoint-s3-crt-sys/crt/aws-c-common aaa2f11e..2b67a658: > Add API for a more compact (no dashes) UUID-to-str (awslabs#1212) > Add a python script to help pick up the latest cjson and libcbor (awslabs#1211) > Fix byte helpers for mingw 32 bit (awslabs#1210) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#1209) > Fix signature of aws_backtrace_log (awslabs#1206) > Remove clang-3 from CI (awslabs#1203) Submodule mountpoint-s3-crt-sys/crt/aws-c-http 10961a70..bfa03928: > support no_proxy excatly like CURL (awslabs#522) > Remove Windows 2019 and add Windows 2025 with MSVC-17 (awslabs#521) Submodule mountpoint-s3-crt-sys/crt/aws-c-io ee7925a3..12cb9f9c: > stop packing future variable to avoid tsan data race warnings (awslabs#741) > Support s2n security policy for TLS 1.2 and FIPS (awslabs#739) Submodule mountpoint-s3-crt-sys/crt/aws-c-s3 f8ae82e3..70aacd2d: > Move fulfilling pending future outside the lock and ignore already completed futures (awslabs#536) ``` </details> ### Does this change impact existing behavior? No. ### Does this change need a changelog entry? Does it require a version change? Client changelog. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). --------- Signed-off-by: Alessandro Passaro <alexpax@amazon.co.uk>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Description of changes:
Fulfilling pending future inside the lock can lead to deadlock if future is already canceled.
Add logic to ignore all canceled futures. And move future completion outside of lock (for the case where cancel occurs right after the future was checked)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.