Repository navigation
Merge ValidatesRunner tests into small number of Dataflow jobs, each job hosting multiple tests. - #40303
Merge ValidatesRunner tests into small number of Dataflow jobs, each job hosting multiple tests.#40303reuvenlax wants to merge 2 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #40303 +/- ##
============================================
+ Coverage 56.16% 65.17% +9.00%
- Complexity 2288 14125 +11837
============================================
Files 1124 1730 +606
Lines 178336 109260 -69076
Branches 1489 11464 +9975
============================================
- Hits 100170 71211 -28959
+ Misses 75645 33775 -41870
- Partials 2521 4274 +1753
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:
|
|
Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment |
|
Assigning reviewers: R: @chamikaramj for label java. 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). |
|
Converted to draft because it is not ready for review IIUC |
0a4e0e3 to
3a4fc2d
Compare
75c1486 to
b45420f
Compare
b45420f to
089f831
Compare
|
This is pretty massive, so it will take some time. Is there anything that could help me review it? (other than telling a bot to help me review it) |
Only jobs in the same test class are eligible for merging; we cannot easily merge jobs in different test classes.
Some types of jobs cannot be merged (e.g. jobs that are expected to throw an exception, which will fail all pipelines hosted in that job). This PR determines which jobs can be so merged, and then merges jobs that are compatible with each other (i.e. they have equivalent PipelineOptions). Currently we only merge batch jobs, though this framework can be extended to streaming as well.
If a merged job fails, we parse the job metrics to see if any of the individual tests have succeeded. We then reexecute the tests for the failed jobs in standalone jobs.