Closed graebm closed 5 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 89.35%. Comparing base (
ce78b1e
) to head (6be7bf6
).:exclamation: Current head 6be7bf6 differs from pull request most recent head b1cd10f. Consider uploading reports for the commit b1cd10f to get more accurate results
I updated the PR description with some more description of where those numbers came from
Issue: Mountpoint (which wraps aws-c-s3 with a filesystem-like API) had a user that opened 100+ files at once. The user wrote data to some of the later files they opened, and waited for those writes to complete. But aws-c-s3 was waiting on data from the first few files. Both sides were waiting on each other. It was a deadlock.
Description of changes:
aws_s3_meta_request_options.maximize_async_stream_reads_internal_use_only
setting that increases the number of "stalled" uploads the S3 client can tolerate.memory_limit_in_bytes
(240, given 64bit platform with default values for target throughput, memory limit, and part size).aws_s3_meta_request_write_async()
call, which lets the user tell the S3 client when data is available. Vs the current situation with async-stream, where the S3 client is telling the user when it's a good time to provide the data.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.