Fixes breakages of the upgrade feature#29731
Conversation
|
R: @johnjcasey |
|
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control |
There was a problem hiding this comment.
it doesn't look like you actually set the default coder here
There was a problem hiding this comment.
The default coder is set by the source transform if I don't set anything here.
There was a problem hiding this comment.
How would one know which fields could fail to deserialize?
There was a problem hiding this comment.
I mentioned the field in the log (and should also be in the exception stacktrace). I only handle specific cases here. If deserialization fails for any other cases, it would be a hard fail during job submission.
There was a problem hiding this comment.
If this is sufficient for correct behavior, why do we deserialize the service bytes at all?
There was a problem hiding this comment.
Unfortunately this object is set by default for BQ source/sink transforms and BQ transforms cannot be constructed without it. See below.
So I have to set it to re-build source/sink transform object here.
There was a problem hiding this comment.
the transform behavior changes whether or not an error handler is passed at all, so this could break if deserialization fails.
There was a problem hiding this comment.
I think ErrorHandler has to be instantiated with it's own schema but will do this in a separate PR.
For now, updating the code so that we do a hard fail if the user set this property.
chamikaramj
left a comment
There was a problem hiding this comment.
Thanks. PTAL.
There was a problem hiding this comment.
I mentioned the field in the log (and should also be in the exception stacktrace). I only handle specific cases here. If deserialization fails for any other cases, it would be a hard fail during job submission.
There was a problem hiding this comment.
Unfortunately this object is set by default for BQ source/sink transforms and BQ transforms cannot be constructed without it. See below.
So I have to set it to re-build source/sink transform object here.
There was a problem hiding this comment.
The default coder is set by the source transform if I don't set anything here.
There was a problem hiding this comment.
I think ErrorHandler has to be instantiated with it's own schema but will do this in a separate PR.
For now, updating the code so that we do a hard fail if the user set this property.
|
LGTM for the cherry pick. We should brainstorm how to make error handling more robust going forward |
|
Thanks. |
3b2110d to
8ba9ab4
Compare
|
I don't think PreComit failures are related to this PR. @Abacn @jrmccluskey I noticed that there are ongoing efforts to fix PreCommit test suites (for example, #28957, #29671). Should there be a release blocker for fixing the PreCommit to perform the release in a healthy state ? |
* Fixes breakages of the upgrade feature * Fix spotless * Addressing reviewer comments * Removing unused import * Reverting the PreCommit update
|
#29744 should reduce flakiness of Java PreCommit on master |
Seems like this feature broke due to.
Makes the implementation more robust and adds the Kafka upgrade module to IO precommit.
This fixes #29730
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.mdwith 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 or the workflows README to see a list of phrases to trigger workflows.