Repository navigation
Expose desiredNumUnboundedSourceSplits for Java and Python portable pipeline - #40345
Conversation
…ipeline - Port desiredNumUnboundedSourceSplits currently honored by Dataflow non-portable pipeline submission to Java portable (UnboundedSource translated to SDF wrapper) and Python SDK
|
Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment |
|
assign set of reviewers |
|
Assigning reviewers: R: @tvalentyn for label python. This pull request likely touches a core component ("core" label). Please review with scrutiny. 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). |
|
looks like test suites fail on master too as per Integration test triage — PR #40345apache/beam @ 43e878d · 6 failing job(s) · triaged in 28.5s 12 failing test(s) across 6 suite(s) — 5 distinct root cause(s). Warning At least one failure looks like a real defect, not a flake.
1. LIKELY REAL BUG — TestWriteBigTable (+5 more)Suite: PreCommit Python / beam_PreCommit_Python (Run Python PreCommit 3.10), PreCommit Python / beam_PreCommit_Python (Run Python PreCommit 3.14), PreCommit Python Coverage / beam_PreCommit_Python_Coverage (Run Python_Coverage PreCommit 3.10) Root cause: Why this verdict: a test assertion failed Affected tests:
Log excerpt2. LIKELY REAL BUG — TestWriteBigTable (+2 more)Suite: PreCommit Python / beam_PreCommit_Python (Run Python PreCommit 3.10), PreCommit Python / beam_PreCommit_Python (Run Python PreCommit 3.14), PreCommit Python Coverage / beam_PreCommit_Python_Coverage (Run Python_Coverage PreCommit 3.10) Root cause: Why this verdict: a test assertion failed Affected tests:
Where (app code): Log excerpt3. unknown — job-level failureSuite: PreCommit Python / Python 3.10 Test Results () Root cause: Why this verdict: published via the Checks API — not a job in this workflow Affected tests:
Log excerpt4. unknown — job-level failureSuite: PreCommit Python / Test Results Root cause: Why this verdict: published via the Checks API — not a job in this workflow Affected tests:
Log excerpt5. not a test failure — job-level failureSuite: Build python source distribution and wheels / Build python cp310- wheels on auto for ubuntu-24.04 Root cause: Why this verdict: job failed outside of a test (policy check, setup, runner, or timeout) Affected tests:
Log excerptThis tool can make mistakes. It is only meant to surface errors faster, and may not surface all of them accurately. Generated by gha_triage |
|
GCP IO Direct different tests failed in two attempts, not related to this change |
|
Python PreCommit failed Bigtable tests not related to this change, fixed on master on #40364 |
In Dataflow portable runner (Runner v2), unbounded
GenerateSequence(backed byUnboundedSource) does not scale to reach target throughput at high rates because the SDF wrapper hardcodes the initial number of splits to20(DEFAULT_DESIRED_NUM_SPLITS = 20in JavaRead.javaand_DEFAULT_DESIRED_NUM_SPLITS = 20in Pythonunbounded_source.py), limiting read parallelism regardless of worker count.In Java Dataflow Streaming Runner, initial splitting of
UnboundedSources could be tuned via--desiredNumUnboundedSourceSplitsinDataflowPipelineDebugOptions. Exposing this option inStreamingOptionsand wiring it into the Java and Python SDFUnboundedSourcewrappers allows portable pipelines to configure the desired number of initial splits and scaleGenerateSequence(and otherUnboundedSources) to high throughput targets.