Repository navigation
[Java][BigQueryIO] Honor allowMissingRequiredFields when building Storage Write API messages - #40204
Conversation
|
Assigning reviewers: R: @kennknowles for label java. Note: If you would like to opt out of this review, comment Available commands:
The PR bot will only process comments in the main thread (not review comments). |
|
R: @ahmedabu98 Sorry to send so many to you, but am I right that you are the current expert in the storage write API paths? |
|
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control. If you'd like to restart, comment |
ahmedabu98
left a comment
There was a problem hiding this comment.
LGTM! thanks for fixing this
|
|
||
| ## Breaking Changes | ||
|
|
||
| * (Java) BigQuery Storage Write API `TableRow` conversion now honors `allowMissingRequiredFields` during protocol-buffer construction. Callers that pass `true` with required descriptors receive partial messages instead of conversion-time `UninitializedMessageException` failures ([#40189](https://github.com/apache/beam/issues/40189)). |
There was a problem hiding this comment.
This isn't really a breaking change right? Can you add it under ## Bugfixes ?
There was a problem hiding this comment.
Moved under Bugfixes.
6860cb1 to
bc220e9
Compare
|
Thanks @khaledh! |
fixes #40189
When
allowMissingRequiredFieldsis true, conversion already skips the missing-required check, but both build sites still callbuild(), which re-validates the whole tree and can throw. This makes the flag consistent at build time:falsepath unchanged; a nested test pins the exactSchemaMissingRequiredFieldExceptiondiagnostic.truealready use all-optional descriptors: identical output, one redundantisInitialized()walk removed.CHANGES.md: an external caller passingtruewith a strict descriptor now gets a partial message instead ofUninitializedMessageException. A one-time descriptor check can be added if preferred.Descriptor.findFieldByNamelookups in BigQuery Storage Write API TableRow conversion #40188.Tests: on/off parity for all-optional descriptors including unknown fields, strict-path failure unchanged, nested diagnostic chain, partial messages for map and positional rows. GCP IO suite green on JDK 11 and 17.
Related: #40188 (independent; either order).
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.