Conversation
d474409 to
f123451
Compare
ddelange
commented
Oct 20, 2025
Comment on lines
-973
to
-977
| @pytest.mark.skipif(condition=sys.platform == 'win32', reason="does not run on windows") | ||
| @pytest.mark.xfail( | ||
| condition=sys.platform == 'darwin', | ||
| reason="MacOS uses spawn rather than fork for multiprocessing", | ||
| ) |
Collaborator
Author
There was a problem hiding this comment.
3.14 changes default start methods (docs)
since iter_bucket is network bound and not CPU bound, this PR refactors iter_bucket to always use a single shared concurrent.futures.ThreadPoolExecutor with a single shared thread-safe boto S3.Client.
This makes the code simpler, more predictable, easier to maintain, and cross-platform compatible.
The default of 16 * 4 = global maximum 64 threads is tested to be stable on an EC2 c-family machine downloading from an S3 bucket in the same region.
ddelange
added a commit
that referenced
this pull request
Oct 20, 2025
* develop: Update CHANGELOG.md Use compression.zstd (PEP-784) (#895) Drop python 3.8, add python 3.14 (#896) [s3] Add range_chunk_size param to read using multiple GET requests (#887) Run tests in parallel (#893) Optimize forward seeks within buffered data to avoid redundant GET (#892) Add macos to CI (#891) Simplify CI, use uv (#890) [s3] Improve handling of InvalidRange and seek on empty file (#889) Protect against hanging tests (#888) Bump the github-actions group with 2 updates (#886) build: fix invalid `fallback_version` when builing with `uv` (#884) Remove travis leftover (#881) Disambiguate URI examples in README.rst (#879)
|
Released v7.4.0 |
This was referenced Nov 8, 2025
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.
Motivation
Preparation for #895
Refactor iter_bucket using multithreading instead of multiprocessing: #896 (comment)
Tests
Work in progress
Checklist
python update_helptext.pyin case there are API changesWorkflow