Skip to content

[Dataflow Streaming] Speed up non-portable worker precommit tests - #40637

Draft
arunpandianp wants to merge 5 commits into
apache:masterfrom
arunpandianp:speedup_precommit
Draft

arunpandianp wants to merge 5 commits into
apache:masterfrom
arunpandianp:speedup_precommit

Conversation

@arunpandianp

Copy link
Copy Markdown
Contributor

No description provided.

@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.80%. Comparing base (76f6e6d) to head (c70ecac).
⚠️ Report is 209 commits behind head on master.

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #40637       +/-   ##
=============================================
+ Coverage     56.16%   75.80%   +19.63%     
+ Complexity     2288     2286        -2     
=============================================
  Files          1124      259      -865     
  Lines        178336    14459   -163877     
  Branches       1489     1487        -2     
=============================================
- Hits         100170    10960    -89210     
+ Misses        75645     2799    -72846     
+ Partials       2521      700     -1821     
Flag Coverage Δ
go ?
java 75.80% <ø> (+0.01%) ⬆️
python ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Arunpandian added 5 commits October 16, 2026 17:57
Configure maxParallelForks 4 in runners/google-cloud-dataflow-java/worker/build.gradle
matching the convention used across Beam's core and runner modules.
…suites

StreamingDataflowWorkerTest is 6,600+ lines and takes over 2 minutes sequentially
on a single fork. Sharding into concrete Appliance and StreamingEngine test
classes allows Gradle to execute them concurrently on separate forks.
Avoids 10-second idle socket keep-alive timeout in Jetty's LocalConnector
across test methods, reducing suite execution from 40s to ~50ms.
Replace on-the-fly generation of 10GB random bytes via Random.nextBytes()
in tight 1M loops with fast bit-shift integer indexing into the buffer,
saving ~45s of CPU time.
- Reduce polling intervals from 100ms to 10ms while preserving total timeout ceilings.
- Remove unnecessary 10s sleep in synchronous StreamingGlobalConfigHandleImplTest.
- Advance StreamDebugMetricsTest via virtual clock without wall-clock sleep.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant