Repository navigation
[Python] Preserve DaskRunner finish_bundle outputs - #40520
Merged
jrmccluskey merged 1 commit intoOct 12, 2026
Merged
Conversation
Contributor
|
Assigning reviewers: R: @jrmccluskey for label python. Note: If you would like to opt out of this review, comment Available commands:
The PR bot will only process comments in the main thread (not review comments). |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #40520 +/- ##
=============================================
+ Coverage 56.16% 79.68% +23.51%
=============================================
Files 1124 487 -637
Lines 178336 82267 -96069
Branches 1489 0 -1489
=============================================
- Hits 100170 65557 -34613
+ Misses 75645 16710 -58935
+ Partials 2521 0 -2521
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
DaskRunner snapshots receiver outputs before calling
DoFn.finish_bundle(), so a buffering DoFn can complete successfully while emitting an empty collection. Move output collection afterinvoke_finish_bundle()and before teardown, add regression tests for finish-only and mixed process/finish output, and record the fix inCHANGES.md.Fixes #40519.
Validation
27 passed, 1 xfailed; both new regression tests fail with missing records.apache_beam/runners/dask/suite29 passed, 1 xfailed, 5 subtests passed. The existing expected failure istest_pardo_windowed_side_inputs.('finish', 6); afterward all four records match the expected output.git diff --checkpass.pip check:No broken requirements found.The SDK was installed from the editable source checkout with
[dask,test,dataframe]. Dependency installation steps and verification commands, installed dependency versions, regression log, and full DaskRunner test log are available at a fixed evidence commit.Validation used the pure-Python SDK without compiled Cython extensions. Java, cloud runners, and the full multi-language repository suite were not tested. No new project runtime dependency is introduced.
Captured local verification
These screenshots show a read-only local evidence viewer displaying the actual gathered worker outputs and recorded test results. This is a backend runner, so they document execution results rather than an application UI. The evidence files are kept in a separate branch of the fork.
Before fix:
After fix: