-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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-14101] [CdapIO] Add ReceiverBuilder for SparkReceiverIO #17111
Conversation
Codecov Report
@@ Coverage Diff @@
## master #17111 +/- ##
==========================================
- Coverage 74.00% 73.94% -0.07%
==========================================
Files 703 700 -3
Lines 92936 92471 -465
==========================================
- Hits 68779 68375 -404
+ Misses 22891 22847 -44
+ Partials 1266 1249 -17
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
retest this please |
1 similar comment
retest this please |
Run Java PreCommit |
3 similar comments
Run Java PreCommit |
Run Java PreCommit |
Run Java PreCommit |
Run Java PreCommit |
1 similar comment
Run Java PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
1 similar comment
Run Java_PVR_Flink_Batch PreCommit |
Run Java PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
2 similar comments
Run Java_PVR_Flink_Batch PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
retest this please |
Run Java_PVR_Flink_Batch PreCommit |
1 similar comment
Run Java_PVR_Flink_Batch PreCommit |
Run Java_PVR_Flink_Docker PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
Run Java_Examples_Dataflow PreCommit |
Run Java PreCommit |
Run Java PreCommit |
Run Java_PVR_Flink_Docker PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
Run Java PreCommit |
"Run Website_Stage_GCS PreCommit |
Run Website_Stage_GCS PreCommit |
@aromanenko-dev - do you know anyone who might be able to review this? |
@aaltay I'll take a look |
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! I left my comments, ptal.
PS: Please, squash multiple commits into one or several atomic ones (if it's needed to have more than one) and avoid merge commits to keep a commit history clean (use git rebase
instead).
|
||
/** Transforms for reading and writing from streaming CDAP plugins. */ | ||
@Experimental(Kind.SOURCE_SINK) | ||
package org.apache.beam.sdk.io.sparkreceiver; |
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.
I don't think we need a dedicated IO package for this since this builder, IIUC, is mostly a part of CdapIO and doesn't provide any read/write IO API for users.
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.
As part of the CdapIO Connector project, we are implementing another IO, this is SparkReceiverIO. It will provide an API to read from the Custom Spark Receiver, which we will call in CdapIO. The SparkReceiverIO will be independent of the CdapIO, and this builder is part of the SparkReceiverIO, so we've put this code in a dedicated sparkreceiver IO package.
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.
Will SparkReceiverIO
provide a separate user API for read and/or write in this case that is not dependent on CdapIO
?
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.
Yes, you're right. The SparkReceiverIO
will provide a read API that can be used with the custom receiver independently of the Cdap IO
...ava/io/sparkreceiver/src/main/java/org/apache/beam/sdk/io/sparkreceiver/ReceiverBuilder.java
Outdated
Show resolved
Hide resolved
...ava/io/sparkreceiver/src/main/java/org/apache/beam/sdk/io/sparkreceiver/ReceiverBuilder.java
Outdated
Show resolved
Hide resolved
...ava/io/sparkreceiver/src/main/java/org/apache/beam/sdk/io/sparkreceiver/ReceiverBuilder.java
Outdated
Show resolved
Hide resolved
...ava/io/sparkreceiver/src/main/java/org/apache/beam/sdk/io/sparkreceiver/ReceiverBuilder.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
Outdated
Show resolved
Hide resolved
Kind ping on this. What is a state for this PR? Is it ready for another round of review? |
@aromanenko-dev I asked, and they said this is ready for another round of review. The only issue they had ran into is that they are getting nullness warnings when they use checkArgument instead of using an if statement |
Could you tell me please what you mean exactly? Do we need to squash the published comments into one or do we need to merge them before pushing them to a remote repository? Could the person who will be merging the PR use the |
Run Java PreCommit |
@Lizzfox
You need to rebase your feature branch with Also, it's usually better to have your local And, please, avoid merge
Yes, you need to squash all commits into one or into several logical ones with a proper commit message. That will help to keep commits history more clear and evident. Also, it should be much easier to rollback such changes if needed.
Yes, it's possible, but it will squash all your commits into only one and the squashed commits should not contain merge commits (like it has for now, as I can see). Feel free to ping me on the-asf channel on Slack if you have more questions on this! |
@Lizzfox
Could you fix it? You can test it locally with this command:
|
Run Go PreCommit |
Run Java PreCommit |
@Amar3tto Could you rebase your feature branch against |
@aromanenko-dev I've squashed all commits into one. |
Run Java PreCommit |
@Amar3tto @Lizzfox Thanks for addressing the comments! It looks ok for me in general but it's still not clear why do we need a new dedicated IO for that since it doesn't provide any IO user API? Could you give more details about the next steps on this IO? |
The The next step is to implement the read interface. We have SparkReceiverIO Read draft PR that is in progress for now. I hope it would clarify the details. We just decided to divide PRs to make them easier to review. So the current PR doesn't implement any user interface 🙂 |
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.
LGTM
@Lizzfox Thanks for details! Feel free to ping me for other PRs when they are ready |
Resolves #24960
Resolves #21673
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.CHANGES.md
with noteworthy changes.See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)
See CI.md for more information about GitHub Actions CI.