Skip to content

[Data] Progress Reporting Refactor 1#59350

Merged
bveeramani merged 15 commits intoray-project:masterfrom
kyuds:progress-refactor-1
Dec 23, 2025
Merged

[Data] Progress Reporting Refactor 1#59350
bveeramani merged 15 commits intoray-project:masterfrom
kyuds:progress-refactor-1

Conversation

@kyuds
Copy link
Copy Markdown
Member

@kyuds kyuds commented Dec 10, 2025

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

…ogress

Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: kyuds <kyuseung1016@gmail.com>
…om dataclass

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>
@kyuds kyuds requested review from a team as code owners December 10, 2025 14:13
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the progress reporting mechanism in Ray Data, successfully decoupling it from the executor and operator states. The changes introduce dedicated progress manager classes (RichExecutionProgressManager and TqdmExecutionProgressManager) to centralize the logic for displaying progress, which improves modularity and allows for more flexible progress bar implementations. The removal of direct progress bar management from PhysicalOperator and OpState simplifies these core components. The changes are well-structured and consistent across the modified files, achieving the stated objective of the refactor.

Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>

ctx = DataContext.get_current()
self._enabled = ctx.enable_progress_bars
self._show_op_progress = self._enabled and ctx.enable_operator_progress_bars
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: verbose_progress option silently ignored after refactor

The refactoring removes usage of self._options.verbose_progress from the progress bar initialization. Previously, the old code in initialize_progress_bars used verbose_progress to control whether non-AllToAll (1:1) operators would show progress bars. The new progress managers (TqdmExecutionProgressManager and RichExecutionProgressManager) only check ctx.enable_operator_progress_bars, completely ignoring the verbose_progress execution option. This breaks backward compatibility for users who set verbose_progress=False expecting to hide individual operator progress bars while still seeing AllToAll operator progress. The option is still documented as functional in ExecutionOptions and used in tests like test_backpressure_e2e.py and test_sort.py.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems valid (?)

@richardliaw richardliaw added data Ray Data-related issues go add ONLY when ready to merge, run all tests labels Dec 10, 2025
Copy link
Copy Markdown
Member

@bveeramani bveeramani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM except for the duplicate log issue.

We're doing a branch cut tomorrow -- I can land this after the branch cut (this is a non-trivial refactor, and I want to make sure we have time to catch issues if there are any)


ctx = DataContext.get_current()
self._enabled = ctx.enable_progress_bars
self._show_op_progress = self._enabled and ctx.enable_operator_progress_bars
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems valid (?)

@@ -28,7 +28,6 @@
from ray.data._internal.execution.interfaces.op_runtime_metrics import OpRuntimeMetrics
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm seeing a duplicate "execution finished" message with the code on this PR.

python -c "import ray; ray.data.range(1).materialize()

PR

✔️  Dataset dataset_1_0 execution finished in 0.31 seconds: 100%|███████████████████████████████████████████████████████████████████████████████████| 1.00/1.00 [00:00<00:00, 3.40 row/s] 
- ReadRange->SplitBlocks(20): Tasks: 0; Actors: 0; Queued blocks: 0 (0.0B); Resources: 0.0 CPU, 8.0B object store: 100%|████████████████████████████| 1.00/1.00 [00:00<00:00, 3.40 row/s]
2025-12-11 17:22:50,626 INFO streaming_executor.py:297 -- ✔️  Dataset dataset_1_0 execution finished in 0.31 seconds         

Master

✔️  Dataset dataset_1_0 execution finished in 0.31 seconds: 100%|███████████████████████████████████████████████████████████████████████████████████| 1.00/1.00 [00:00<00:00, 3.29 row/s] 
- ReadRange->SplitBlocks(20): Tasks: 0; Actors: 0; Queued blocks: 0 (0.0B); Resources: 0.0 CPU, 8.0B object store: 100%|████████████████████████████| 1.00/1.00 [00:00<00:00, 3.29 row/s]

desc, exception is None
)
elif not self._use_rich_progress() and self._global_info:
logger.info(desc)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you see here, we logged in master too. Don't quite understand why it didn't show up tbh (maybe it showed up before tqdm?)

kyuds and others added 2 commits December 12, 2025 15:13
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
@kyuds kyuds changed the title [Data] Progress Reporting Refactor 1 [Please Dont Merge][Data] Progress Reporting Refactor 1 Dec 12, 2025
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
@kyuds kyuds changed the title [Please Dont Merge][Data] Progress Reporting Refactor 1 [Data] Progress Reporting Refactor 1 Dec 12, 2025
@bveeramani bveeramani enabled auto-merge (squash) December 22, 2025 17:28
@bveeramani bveeramani merged commit 3cb1b7c into ray-project:master Dec 23, 2025
7 checks passed
bveeramani pushed a commit that referenced this pull request Dec 26, 2025
## Description
Follow up to #59350
- motivation: better abstraction for progress bars and type checking in
general.

## Related issues
N/A

## Additional information
N/A

---------

Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
@kyuds kyuds deleted the progress-refactor-1 branch December 30, 2025 13:12
AYou0207 pushed a commit to AYou0207/ray that referenced this pull request Jan 13, 2026
## 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>
AYou0207 pushed a commit to AYou0207/ray that referenced this pull request Jan 13, 2026
## Description
Follow up to ray-project#59350
- motivation: better abstraction for progress bars and type checking in
general.

## Related issues
N/A

## 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>
lee1258561 pushed a commit to pinterest/ray that referenced this pull request Feb 3, 2026
## 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>
lee1258561 pushed a commit to pinterest/ray that referenced this pull request Feb 3, 2026
## Description
Follow up to ray-project#59350
- motivation: better abstraction for progress bars and type checking in
general.

## Related issues
N/A

## Additional information
N/A

---------

Signed-off-by: kyuds <kyuseung1016@gmail.com>
Signed-off-by: Daniel Shin <kyuseung1016@gmail.com>
peterxcli pushed a commit to peterxcli/ray that referenced this pull request Feb 25, 2026
## 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>
peterxcli pushed a commit to peterxcli/ray that referenced this pull request Feb 25, 2026
## Description
Follow up to ray-project#59350
- motivation: better abstraction for progress bars and type checking in
general.

## Related issues
N/A

## 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data Ray Data-related issues go add ONLY when ready to merge, run all tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants