-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Refactor Kinesis IO #26117
Refactor Kinesis IO #26117
Conversation
Assigning reviewers. If you would like to opt out of this review, comment R: @lukecwik for label java. Available commands:
The PR bot will only process comments in the main thread (not review comments). |
15b06c5
to
48439b9
Compare
48439b9
to
6d5b5b9
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.
@psolomin Thanks for extracting these changes from #23540, that's very helpful!
This is mostly fine, a few nitpicks / very minor changes, treat those at your own discretion.
Please have a look at my comment regarding wrapExceptions
. This isn't needed for the EFO code, let's leave that in the "simplified" client.
...mazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/kinesis/ShardListingUtils.java
Outdated
Show resolved
Hide resolved
...mazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/kinesis/ShardListingUtils.java
Outdated
Show resolved
Hide resolved
...mazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/kinesis/ShardListingUtils.java
Outdated
Show resolved
Hide resolved
.../java/io/amazon-web-services2/src/test/java/org/apache/beam/sdk/io/aws2/kinesis/Helpers.java
Outdated
Show resolved
Hide resolved
.../java/io/amazon-web-services2/src/test/java/org/apache/beam/sdk/io/aws2/kinesis/Helpers.java
Outdated
Show resolved
Hide resolved
.../java/io/amazon-web-services2/src/test/java/org/apache/beam/sdk/io/aws2/kinesis/Helpers.java
Outdated
Show resolved
Hide resolved
- set missing serialVersionUID - add equals & hashcode methods
This will break checkpoints restoration, but it's inevitable to allow dropping of CheckpointGenerator from KinesisSource.
New tests mock less things and verify checkpoint when fetching records.
Things like ExpiredIterator / NPE are never thrown in shard listing
7618632
to
25a6af1
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, lgtm!
I'll merge once all tests passed 🎉
Run Java PreCommit |
1 similar comment
Run Java PreCommit |
addresses #19967
This change contains refactors which simplify adding support for enhanced fan-out (#23540).
Changes include breaking serialisation compatibility of
KinesisSource
due to droppedCheckpointGenerator
classes, e.g. Flink will not be able to restore Beam 2.46.0 savepoints. Runners which (de-)serialize onlyKinesisReaderCheckpoint
, will be able to restore their state for KinesisIO. This is done such that affected classes - especiallyKinesisIO.Read
- allow further non-breaking evolution.Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
addresses #123
), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, commentfixes #<ISSUE NUMBER>
instead.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.