-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Add a SpillingPool to manage collections of spill files #18207
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
Merged
Merged
Changes from 39 commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
69ab5d2
implement SpillingPool
adriangb 2c9bb58
clippy
adriangb bfabc5e
use buffered stream
adriangb f183b9e
lint
adriangb 0cc7a63
rework
adriangb 6dd6b6d
Add some tests
adriangb b25bdfa
fix lints
adriangb 03ffc3c
bugfix
adriangb 966a213
address pr feedback
adriangb 1dbc730
fix build
adriangb e2ed52d
fix dropped task
adriangb c850240
updarte docstrings
adriangb 303258e
remove wrapper struct
adriangb ab7f350
hide stream behind a trait to avoid making more public stuff
adriangb 9033e84
wip on cleanup
adriangb cccbd73
add a detailed test
adriangb f43bbb6
Add slt test
adriangb 5bf14ec
use 128MB as the default spill file size
adriangb 39577f0
make SpillPool pub(crate)
adriangb 468ad57
fmt
adriangb 89dc51c
lint
adriangb 54652ef
update slt
adriangb d7af8ef
remove test
adriangb 0f6c83a
clippy
adriangb 93779c0
Update datafusion/physical-plan/src/spill/spill_pool.rs
adriangb 192f3ef
update docs
adriangb 374319b
Apply suggestion from @2010YOUY01
adriangb b091574
lints
adriangb c34a5df
Add state machine for stream polling
adriangb e9aedf6
wip
adriangb 30bcfc9
rewrite spilling pool, incorporate new architecture
adriangb df58e8b
re-incorporate gated channels
adriangb 66790ec
add lots of docs
adriangb 3f40fdb
add metrics for file and byte counts to tests
adriangb f61148a
Update datafusion/physical-plan/src/repartition/mod.rs
adriangb 2dcf3f5
Update datafusion/physical-plan/src/repartition/mod.rs
adriangb e31f827
clippy
adriangb 8cba32e
tweak docstrings
adriangb f1de9da
fmt
adriangb d05b0cf
fix and track disk usage
adriangb 23ebd30
clean up test
adriangb 34eb564
fix docs
adriangb 195f72f
use a single waker
adriangb 86364b2
fix test, make MPSC, docs, cleanup
adriangb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we allow clone, the disk usage tracking seems to be a issue. See below
update_disk_usage()andDrop