Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ParDoTest cases that should be ValidatesRunner #14313

Merged
merged 1 commit into from
Mar 24, 2021

Conversation

kennknowles
Copy link
Member

Discovered that these ParDoTest cases were not running because they were annotated only as NeedsRunner.


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Choose reviewer(s) and mention them in a comment (R: @username).
  • Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Post-Commit Tests Status (on master branch)

Lang SDK Dataflow Flink Samza Spark Twister2
Go Build Status --- Build Status --- Build Status ---
Java Build Status Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status Build Status
Build Status
Build Status
Build Status
Python Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
--- Build Status ---
XLang Build Status Build Status Build Status --- Build Status ---

Pre-Commit Tests Status (on master branch)

--- Java Python Go Website Whitespace Typescript
Non-portable Build Status Build Status
Build Status
Build Status
Build Status
Build Status Build Status Build Status Build Status
Portable --- Build Status --- --- --- ---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels
Python tests
Java tests

See CI.md for more information about GitHub Actions CI.

@kennknowles kennknowles requested a review from boyuanzz March 23, 2021 17:33
@kennknowles
Copy link
Member Author

run flink validatesrunner

@kennknowles
Copy link
Member Author

run spark validatesrunner

@kennknowles
Copy link
Member Author

run samza validatesrunner

@boyuanzz
Copy link
Contributor

Should we give a clear instruction to dev on when to use NeedsRunner and when to use ValidatesRunner? NeedsRunner suite will be picked with DirectRunner during Java Precommit, which gives an early signal comparing to post commit.
To my understanding, NeedsRunner is for testing new built composite transform, which requires a runner to run. ValidatesRunner is more for validating assumptions that SDK makes on runners.

@kennknowles
Copy link
Member Author

Yes, that is exactly the difference. NeedsRunner is really a hack to break the dependency cycle. We could even rename it to CoreSdkTestToRunOnDirectRunner so we don't have to document (people won't find documentation anyhow).

We can make a stronger statement about ValidatesRunner IMO: the ValidatesRunner tests should be the definition of a correct runner. Of course the runner also calls back into the SDK so it does test both, but mostly the runner. We should ensure that the SDK and tests are correct by using the ULR so that we know that any failure in these tests on other runners indicates a limitation of the runner.

@kennknowles
Copy link
Member Author

Combine is an example of where this difference becomes more ambiguous: it is a composite, but certainly runners will want to run these tests. So for now, when a transform is "very likely to be executed as a runner primitive" we mark it ValidatesRunner.

@kennknowles
Copy link
Member Author

run samza validatesrunner

Copy link
Contributor

@boyuanzz boyuanzz left a comment

Choose a reason for hiding this comment

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

Thanks!

@iemejia
Copy link
Member

iemejia commented Mar 26, 2021

It seems we forgot to run the Portable VR suites here and this change make evident some failures so now Flink PVR Streaming is not passing anymore.

@kennknowles
Copy link
Member Author

Yes, it was noticed same day and there is BEAM-12050 and #14333. I forgot to tag you on it, if you want to take a look.

@kennknowles
Copy link
Member Author

(I'm not working today, but I wanted to reply to unblock you if there is any need)

@iemejia
Copy link
Member

iemejia commented Mar 26, 2021

Thanks for letting me know I will take care there !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants