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
[BEAM-8941] Implement simple DSL for load tests #10543
[BEAM-8941] Implement simple DSL for load tests #10543
Conversation
29804b0
to
57fd867
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @pawelpasterz for your contribution! I've left some comments. In general, I believe this is a huge step forward in making testing infrastructure more friendly and less error-prone. It's good that we can abort seed job in case of some simple errors: type mismatch and lack of a required parameter.
58488af
to
2561b48
Compare
Please avoid squashing unreviewed changes and force-pushing the branch. Instead, create an additional "fixup" commit: https://beam.apache.org/contribute/#make-the-reviewers-job-easier |
@kamilwu I've implemented changes you requested. I think all possible parameters for load tests are included now. Let me know what do you think. |
Thanks, LGTM. Let's ask @kkucharc if she can help with the merge. |
c08a8d5
to
1c90664
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @pawelpasterz for this refactor :)
I left my comments.
Besides of that I've got two additional remarks:
- it would be great to see how SMOKE test would change with this refactor
- I am missing adding '_PR' suffix in tests which are phase triggered (please compare with this ). Should it be here?
|
||
//runners | ||
void dataflow() { setRunnerAndUpdatePipelineOptions(Runner.DATAFLOW)} | ||
void spark() { setRunnerAndUpdatePipelineOptions(Runner.SPARK) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have any load tests in Spark or Flink (non-portable)? I am asking because those two options can be added later. My main concern is here if we are sure if someone will actually run test with Spark/Flink option if it won't fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH I looked at CommonTestProperties
class and picked Runner
values. Since I am not that much familiar with code yet, my implementation (the one above) can be wrong. Should I limit it to dataflow and portable? (at least for the time being)
Hey @kkucharc I've made some changes and implemented smoke test. Let me know what do you think. |
Thanks @pawelpasterz Let's check how it behaves on Jenkins 😄 |
run seed job |
Run Java Load Tests DSL Smoke |
Hey @kkucharc , I fixed typo, should work now :) Please rerun seed job and smoke test, thanks! |
run seed job |
Run Java Load Tests DSL Smoke |
run seed job |
Run Java Load Tests DSL Smoke |
1 similar comment
Run Java Load Tests DSL Smoke |
run seed job |
Run Java Load Tests DSL Smoke |
@pawelpasterz looks like everything is fine now 🎉 Can you squash commits? |
bfcbf75
to
8a5bee2
Compare
@kkucharc it is done |
8a5bee2
to
56644b1
Compare
[BEAM-8941] review changes [BEAM-8941] add missing non-primitive copies [BEAM-8941] implement map for non-required parameters [BEAM-8941] update docs
56644b1
to
801a6bb
Compare
Implement simple DSL for load tests. Probably first iteration of this PR.
Changes:
config
-- creates configuration map from given closure (example below)templateConfig
-- create reusableLoadTestConfig
instance (no need to create whole map for every single test), specific settings can be changed for every configuration map made from template (title, input options etc)fromTemplate
-- creates configuration map from given template, specific settings can be changedFlink
runner requiresenvironmentConfig
to be set, test can not be launched without runner etc)Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
R: @username
).[BEAM-XXX] Fixes bug in ApproximateQuantiles
, where you replaceBEAM-XXX
with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.See the Contributor Guide for more tips on how to make review process smoother.
Post-Commit Tests Status (on master branch)
Pre-Commit Tests Status (on master branch)
See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.