[Data] Progress Manager Consolidation#58173
[Data] Progress Manager Consolidation#58173kyuds wants to merge 15 commits intoray-project:masterfrom
Conversation
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
There was a problem hiding this comment.
Code Review
This pull request is a great refactoring of the progress bar logic in Ray Data. It introduces a clean ProgressManager abstraction, separating the core execution logic from the UI/display logic. This makes the code more modular, easier to maintain, and extensible for other progress bar implementations in the future. The changes are well-executed across multiple files, resulting in a much cleaner StreamingExecutor.
I have a few suggestions to further improve the code, mainly around reducing some code duplication in the new progress manager implementations and a minor cleanup in one of the new classes.
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
|
Im seeing the failures in #3f5f2ce in other microcheck runs as well, so might need to merge master when that is fixed (might be due to flaky CI, as I've seen some cache misses and weird builds on buildkite, so I reran with empty commit). Preliminary manual inspection, at least to me, seems unrelated (reason being 1, failure logs are unrelated, 2, the tests passed for multiple prior commits, while almost nothing changed except for logging order and some bug fixes) |
Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: kyuds <kyuseung1016@gmail.com>
|
btw, core test failure also fails on current master: https://buildkite.com/ray-project/microcheck/builds/30043 |
| needs_warning = True | ||
|
|
||
|
|
||
| class ProgressBar(BaseProgressBar): |
There was a problem hiding this comment.
Why not move to tqdm_progess.py since this is only for tqdm?
There was a problem hiding this comment.
We use original ProgressBar for other usecases in the codebase (for like datasources). I didnt think it was necessary to turn them into rich as well because they are one liners.
I separated TqdmSubProgressBar for abstraction mostly (and for the update_absolute)
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
There was a problem hiding this comment.
Bug: Typo Fix: Shuffle Progress Bar Label Correction
Typo in progress bar name: shuffle_progress_bar_name="Shufle" should be "Shuffle" (missing second 'f'). This causes the shuffle progress bar to display with an incorrect label.
python/ray/data/_internal/execution/operators/hash_shuffle.py#L1196-L1197
ray/python/ray/data/_internal/execution/operators/hash_shuffle.py
Lines 1196 to 1197 in 8b22a55
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
|
Hey @kyuds, do u think u can rebase from master? |
|
@iamjustinhsu next action is on me to provide guidance on how to do this refactor |
|
@kyuds I finally dug into this. The spaghetti has gotten pretty deep over the years for the progress bar code, and I think we should clean it up in steps. Here are two immediate issues I think we should clean up: Fix 1: Two Subprogress Bar InterfacesCurrent state:
Problem: Confusing and increases maintenance — which interface should new subprogress bars use? Proposed solution:
Fix 2: Operators Managing Progress Bar LifecycleProblem:
Proposed solution:
|
|
will be rebasing to master soon. Im a bit clogged this week, but should be able to get to this soon |
|
to respond to comments from @bveeramani , this specific PR actually is the proposed fix for problem 1. Problem 2 is also sort of addressed here. Because |
|
Discussed with @kyuds over Slack -- we're going to park this PR for now, and come back to it later, maybe after we've de-spaghettified some of our code |
|
This pull request has been automatically marked as stale because it has not had You can always ask for help on our discussion forum or Ray's public slack channel. If you'd like to keep this open, just leave any comment, and the stale label will be removed. |
|
superceded by follow up prs |
## Description This is a series of PRs to refactor/consolidate progress reporting and to decouple it from the executor, opstates, etc. ## Related issues Split from #58173 ## Additional information N/A --------- Signed-off-by: kyuds <kyuseung1016@gmail.com> Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
## Description This is a series of PRs to refactor/consolidate progress reporting and to decouple it from the executor, opstates, etc. ## Related issues Split from ray-project#58173 ## Additional information N/A --------- Signed-off-by: kyuds <kyuseung1016@gmail.com> Signed-off-by: Daniel Shin <kyuseung1016@gmail.com> Signed-off-by: jasonwrwang <jasonwrwang@tencent.com>
## Description This is a series of PRs to refactor/consolidate progress reporting and to decouple it from the executor, opstates, etc. ## Related issues Split from ray-project#58173 ## Additional information N/A --------- Signed-off-by: kyuds <kyuseung1016@gmail.com> Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
## Description This is a series of PRs to refactor/consolidate progress reporting and to decouple it from the executor, opstates, etc. ## Related issues Split from ray-project#58173 ## Additional information N/A --------- Signed-off-by: kyuds <kyuseung1016@gmail.com> Signed-off-by: Daniel Shin <kyuseung1016@gmail.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
Description
Follow up to previous PR on Ray Data progress manager consolidation
Related issues
Following feedback in #56992, there were suggestions for the following:
This PR does them + some of the additional feedback given.
Additional Information
Need some edits after #58277 is merged to master