chore: librarian generate pull request: 20260325T171205Z#1528
chore: librarian generate pull request: 20260325T171205Z#1528
Conversation
Summary of ChangesHello, 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 updates the Google Cloud Spanner client library, primarily through automated code generation. It introduces new capabilities for managing transaction and result set caching and routing, enhances instance autoscaling with more granular CPU utilization controls, and provides a mechanism for passing secure client context with requests. Additionally, it includes several documentation clarifications across the API and internal tooling updates to improve testing and code generation workflows. Highlights
Using Gemini Code AssistThe 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 by creating a comment using either
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 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. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request updates the Spanner client types to introduce new autoscaling configuration options, including total CPU utilization targets and controls to disable specific CPU autoscaling types. It also adds location caching and routing hint fields to various Spanner request and response messages (CommitResponse, ResultSet, Transaction, BeginTransactionRequest, CommitRequest) to improve location awareness and performance. Additionally, the PR refactors Nox sessions, including renaming a formatting session, adding pytest-asyncio dependency, modifying argument passing for unit and system tests, and introducing a new generate session for synchronous code regeneration. The review comments point out an issue where the noxfile.py logic for handling session.posargs in system tests is flawed, preventing specific async tests from running, and a duplicate comment block in noxfile.py that should be removed for code cleanliness.
| else: | ||
| # If posargs are provided, only run if they match async tests | ||
| # or just skip if they were already run in sync. | ||
| # For simplicity, we only run async folder if no posargs. | ||
| return |
There was a problem hiding this comment.
The current logic for handling session.posargs in system tests is flawed. If positional arguments are provided (e.g., to run a specific test file), they are passed to the sync test runner, and the async test run is skipped entirely due to the return statement. This prevents developers from running specific async tests.
For example, running nox -s system -- tests/system/_async/test_it.py would execute the sync test command with the async test path, and then exit before the async test command is even constructed. This is incorrect.
A better approach would be to pass the posargs to the async test run as well, allowing pytest to correctly select and run the specified tests.
| else: | |
| # If posargs are provided, only run if they match async tests | |
| # or just skip if they were already run in sync. | |
| # For simplicity, we only run async folder if no posargs. | |
| return | |
| else: | |
| # If posargs are provided, pass them to the async test run as well. | |
| # pytest will filter and run only the relevant tests. | |
| async_args.extend(session.posargs) |
noxfile.py
Outdated
| # DO NOT EDIT THIS FILE OUTSIDE OF `.librarian/generator-input` | ||
| # The source of truth for this file is `.librarian/generator-input` | ||
|
|
||
|
|
00b3658 to
fc15893
Compare
PR created by the Librarian CLI to generate Cloud Client Libraries code from protos.
BEGIN_COMMIT
BEGIN_NESTED_COMMIT
docs: A comment in message
.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockModeis changedPiperOrigin-RevId: 878019893
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@5c9602db
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: include cache updates and routing hint into BeginTransaction and Commit request/response respectively
PiperOrigin-RevId: 878019893
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@5c9602db
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: A comment for field
routing_hintin messages.google.spanner.v1.ResultSetand.google.spanner.v1.PartialResultSetare changedPiperOrigin-RevId: 878019893
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@5c9602db
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: A comment for field
transaction_tagin message.google.spanner.v1.RequestOptionsis changedPiperOrigin-RevId: 865546011
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@8d30990f
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: A comment for field
commit_timestampin message.google.spanner.v1.BatchWriteResponseis changedPiperOrigin-RevId: 865546011
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@8d30990f
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: A comment for field
param_typesin message.google.spanner.v1.PartitionQueryRequestis changedPiperOrigin-RevId: 865546011
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@8d30990f
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: include cache updates into the ResultSet response
PiperOrigin-RevId: 865546011
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@8d30990f
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: A comment for field
paramsin message.google.spanner.v1.PartitionQueryRequestis changedPiperOrigin-RevId: 865546011
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@8d30990f
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
chore: adjust initial_poll_delay for CreateDatabase and UpdateDatabaseDdl LRO operations
PiperOrigin-RevId: 853884590
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@136a2c43
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: add Secure Parameters to the ClientContext
PiperOrigin-RevId: 853323071
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@211d22fa
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: add a ClientContext field to Spanner requests
PiperOrigin-RevId: 853323071
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@211d22fa
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: Exposing total CPU related fields in AutoscalingConfig
PiperOrigin-RevId: 845819318
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@6e20492a
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: Update high_priority_cpu_utilization_percent in AutoscalingConfig to be Optional and clarify its behavior when not specified
PiperOrigin-RevId: 845819318
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@6e20492a
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
docs: minor update for Spanner Location API
PiperOrigin-RevId: 834841888
Library-IDs: google-cloud-spanner
Source-link: googleapis/googleapis@ded7ed1e
END_NESTED_COMMIT
END_COMMIT
This pull request is generated with proto changes between
googleapis/googleapis@a17b84ad
(exclusive) and
googleapis/googleapis@5c9602db
(inclusive).
Librarian Version: v1.0.2-0.20260309131826-42ac5c451239
Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:b8058df4c45e9a6e07f6b4d65b458d0d059241dd34c814f151c8bf6b89211209