-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Deprecate Python native SpannerIO, with exposed bug fix #35859
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
Conversation
Fix SpannerIO TypeError due to monitoring_info Also fix monitoring info error format string
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.
Summary of Changes
Hello @Abacn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request deprecates the experimental SpannerIO module within Apache Beam's Python SDK, guiding users towards the more stable apache_beam.io.gcp.spanner module. Concurrently, it addresses a TypeError that occurred in the SpannerIO monitoring logic by ensuring that the table_id label is conditionally applied. Additionally, a minor f-string formatting bug in monitoring error messages has been corrected for improved clarity.
Highlights
- Deprecation of Experimental SpannerIO: The
apache_beam.io.gcp.experimental.spanneriomodule, includingReadFromSpannerandWriteToSpannertransforms, has been marked as deprecated. Users are now advised to use the stableapache_beam.io.gcp.spannermodule instead. - Fix for SpannerIO Monitoring TypeError: Resolved a
TypeErrorinSpannerIO's monitoring metrics by ensuring that theSPANNER_TABLE_IDlabel is only added to monitoring labels if atable_idis actually provided, preventing issues whentable_idmight beNone. - Correction of Monitoring Error Message Format: Fixed an f-string formatting error in the
create_monitoring_infofunction withinmonitoring_infos.py, improving the clarity and correctness of error messages related to monitoring info creation.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
|
R: @damccorm |
|
/gemini review |
|
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control. If you'd like to restart, comment |
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.
Code Review
This pull request effectively deprecates the experimental spannerio module and introduces two important bug fixes. The first fix correctly handles a potential TypeError in Spanner IO when a table_id is not provided for monitoring. The second fix corrects a malformed f-string in an error message within the monitoring_infos module, which will improve debuggability. The changes are well-executed and address the stated goals.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
two bigquery_test failed not related to the change |
* Deprecate native SpannerIO, with exposed bug fix Fix SpannerIO TypeError due to monitoring_info Also fix monitoring info error format string * Update sdks/python/apache_beam/metrics/monitoring_infos.py Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * add CHANGES.md --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Deprecate native SpannerIO, with exposed bug fix Fix SpannerIO TypeError due to monitoring_info Also fix monitoring info error format string * Update sdks/python/apache_beam/metrics/monitoring_infos.py Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * add CHANGES.md --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Fix SpannerIO TypeError due to monitoring_info
Also fix monitoring info error format string
Fix #35850
Part 1 of #35860
Please add a meaningful description for your change here
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.