Repository navigation
Conversation
…3520) we will need this for populating direct_access/compatible as it has an `ip_preference` metric field.
This PR does two things: * fixes a typo in the README template used by librariangen (internal/librariangen/configure/_README.md.txt) * fixes the typo in the generated README files.
PiperOrigin-RevId: 848064295
This PR addresses another bulk README typo (who's -> whose)
…13528) PR created by the Librarian CLI to generate Cloud Client Libraries code from protos. BEGIN_COMMIT BEGIN_NESTED_COMMIT docs: change comment indicating `enable_gemini_in_bigquery` field for BigQuery Reservation Assignments is deprecated PiperOrigin-RevId: 850121797 Library-IDs: bigquery Source-link: [googleapis/googleapis@94ccedca](googleapis/googleapis@94ccedca) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: expose BigtableProtoConfig for bigtable integration PiperOrigin-RevId: 850096604 Library-IDs: bigquery/v2 Source-link: [googleapis/googleapis@2c8fbf7f](googleapis/googleapis@2c8fbf7f) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: add index ID to IndexPruningStats PiperOrigin-RevId: 850096604 Library-IDs: bigquery/v2 Source-link: [googleapis/googleapis@2c8fbf7f](googleapis/googleapis@2c8fbf7f) END_NESTED_COMMIT END_COMMIT This pull request is generated with proto changes between [googleapis/googleapis@535d161c](googleapis/googleapis@535d161) (exclusive) and [googleapis/googleapis@94ccedca](googleapis/googleapis@94ccedc) (inclusive). Librarian Version: v0.0.0-20251218164811-cd2252e38d0a Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:718167d5c23ed389b41f617b3a00ac839bdd938a6bd2d48ae0c2f1fa51ab1c3d
…googleapis#13519) This PR enables librarian autogeneration for modules that are largely mature and don't see ongoing handwritten investments. The candidate modules affected with their last manual change dates, based on a quick view of commit history and/or reviewing CHANGES.md * errorreporting - Oct 2020 * logging - June 2024 * longrunning - Feb 2023 * profiler - Oct 2023
googleapis#13535) … one conn is being drained
…migrationassessment (googleapis#13514) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.43.0 to 0.45.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/crypto/commit/4e0068c0098be10d7025c99ab7c50ce454c1f0f9"><code>4e0068c</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/crypto/commit/e79546e28b85ea53dd37afe1c4102746ef553b9c"><code>e79546e</code></a> ssh: curb GSSAPI DoS risk by limiting number of specified OIDs</li> <li><a href="https://github.com/golang/crypto/commit/f91f7a7c31bf90b39c1de895ad116a2bacc88748"><code>f91f7a7</code></a> ssh/agent: prevent panic on malformed constraint</li> <li><a href="https://github.com/golang/crypto/commit/2df4153a0311bdfea44376e0eb6ef2faefb0275b"><code>2df4153</code></a> acme/autocert: let automatic renewal work with short lifetime certs</li> <li><a href="https://github.com/golang/crypto/commit/bcf6a849efcf4702fa5172cb0998b46c3da1e989"><code>bcf6a84</code></a> acme: pass context to request</li> <li><a href="https://github.com/golang/crypto/commit/b4f2b62076abeee4e43fb59544dac565715fbf1e"><code>b4f2b62</code></a> ssh: fix error message on unsupported cipher</li> <li><a href="https://github.com/golang/crypto/commit/79ec3a51fcc7fbd2691d56155d578225ccc542e2"><code>79ec3a5</code></a> ssh: allow to bind to a hostname in remote forwarding</li> <li><a href="https://github.com/golang/crypto/commit/122a78f140d9d3303ed3261bc374bbbca149140f"><code>122a78f</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/crypto/commit/c0531f9c34514ad5c5551e2d6ce569ca673a8afd"><code>c0531f9</code></a> all: eliminate vet diagnostics</li> <li><a href="https://github.com/golang/crypto/commit/0997000b45e3a40598272081bcad03ffd21b8adb"><code>0997000</code></a> all: fix some comments</li> <li>Additional commits viewable in <a href="https://github.com/golang/crypto/compare/v0.43.0...v0.45.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/googleapis/google-cloud-go/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…etermanager (googleapis#13509) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.43.0 to 0.45.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/crypto/commit/4e0068c0098be10d7025c99ab7c50ce454c1f0f9"><code>4e0068c</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/crypto/commit/e79546e28b85ea53dd37afe1c4102746ef553b9c"><code>e79546e</code></a> ssh: curb GSSAPI DoS risk by limiting number of specified OIDs</li> <li><a href="https://github.com/golang/crypto/commit/f91f7a7c31bf90b39c1de895ad116a2bacc88748"><code>f91f7a7</code></a> ssh/agent: prevent panic on malformed constraint</li> <li><a href="https://github.com/golang/crypto/commit/2df4153a0311bdfea44376e0eb6ef2faefb0275b"><code>2df4153</code></a> acme/autocert: let automatic renewal work with short lifetime certs</li> <li><a href="https://github.com/golang/crypto/commit/bcf6a849efcf4702fa5172cb0998b46c3da1e989"><code>bcf6a84</code></a> acme: pass context to request</li> <li><a href="https://github.com/golang/crypto/commit/b4f2b62076abeee4e43fb59544dac565715fbf1e"><code>b4f2b62</code></a> ssh: fix error message on unsupported cipher</li> <li><a href="https://github.com/golang/crypto/commit/79ec3a51fcc7fbd2691d56155d578225ccc542e2"><code>79ec3a5</code></a> ssh: allow to bind to a hostname in remote forwarding</li> <li><a href="https://github.com/golang/crypto/commit/122a78f140d9d3303ed3261bc374bbbca149140f"><code>122a78f</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/crypto/commit/c0531f9c34514ad5c5551e2d6ce569ca673a8afd"><code>c0531f9</code></a> all: eliminate vet diagnostics</li> <li><a href="https://github.com/golang/crypto/commit/0997000b45e3a40598272081bcad03ffd21b8adb"><code>0997000</code></a> all: fix some comments</li> <li>Additional commits viewable in <a href="https://github.com/golang/crypto/compare/v0.43.0...v0.45.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/googleapis/google-cloud-go/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This PR migrates presubmit tests to run using gotestsum, and stops the use of go-junit-report to parse logs. related: b/473558736
…13546) PR created by the Librarian CLI to generate Cloud Client Libraries code from protos. BEGIN_COMMIT BEGIN_NESTED_COMMIT feat: Update Compute Engine v1beta API to revision 20251210 (googleapis#1138) PiperOrigin-RevId: Library-IDs: compute Source-link: [googleapis/googleapis@d4a34bf0](googleapis/googleapis@d4a34bf0) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: Update Compute Engine v1 API to revision 20251210 (googleapis#1137) PiperOrigin-RevId: Library-IDs: compute Source-link: [googleapis/googleapis@c2ec846d](googleapis/googleapis@c2ec846d) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: add POSTGRES_18 to DatabaseVersion PiperOrigin-RevId: 852794094 Library-IDs: alloydb Source-link: [googleapis/googleapis@a745ee41](googleapis/googleapis@a745ee41) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: add streaming function call argument API changes PiperOrigin-RevId: 852409018 Library-IDs: aiplatform Source-link: [googleapis/googleapis@286c66a5](googleapis/googleapis@286c66a5) END_NESTED_COMMIT BEGIN_NESTED_COMMIT docs: A comment for field `name` in message `.google.cloud.aiplatform.v1beta1.FunctionCall` is changed PiperOrigin-RevId: 852409018 Library-IDs: aiplatform Source-link: [googleapis/googleapis@286c66a5](googleapis/googleapis@286c66a5) END_NESTED_COMMIT BEGIN_NESTED_COMMIT docs: A comment for field `args` in message `.google.cloud.aiplatform.v1beta1.FunctionCall` is changed PiperOrigin-RevId: 852409018 Library-IDs: aiplatform Source-link: [googleapis/googleapis@286c66a5](googleapis/googleapis@286c66a5) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: add custom prompt config in the request and return prompt in the response PiperOrigin-RevId: 852383212 Library-IDs: speech Source-link: [googleapis/googleapis@1a141530](googleapis/googleapis@1a141530) END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: update min_speaker_count and max_speaker_count to be optional PiperOrigin-RevId: 852383212 Library-IDs: speech Source-link: [googleapis/googleapis@1a141530](googleapis/googleapis@1a141530) END_NESTED_COMMIT BEGIN_NESTED_COMMIT docs: Clarify that min_speaker_count and max_speaker_count in SpeakerDiarizationConfig are not currently used PiperOrigin-RevId: 852383212 Library-IDs: speech Source-link: [googleapis/googleapis@1a141530](googleapis/googleapis@1a141530) END_NESTED_COMMIT BEGIN_NESTED_COMMIT docs: Update guidance on how to enable speaker diarization; to enable, set the diarization_config field to an empty SpeakerDiarizationConfig message PiperOrigin-RevId: 852383212 Library-IDs: speech Source-link: [googleapis/googleapis@1a141530](googleapis/googleapis@1a141530) END_NESTED_COMMIT END_COMMIT This pull request is generated with proto changes between [googleapis/googleapis@ef6a532b](googleapis/googleapis@ef6a532) (exclusive) and [googleapis/googleapis@d4a34bf0](googleapis/googleapis@d4a34bf) (inclusive). Librarian Version: v0.0.0-20251218164811-cd2252e38d0a Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:718167d5c23ed389b41f617b3a00ac839bdd938a6bd2d48ae0c2f1fa51ab1c3d
…oogleapis#13536) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.44.0 to 0.45.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/crypto/commit/4e0068c0098be10d7025c99ab7c50ce454c1f0f9"><code>4e0068c</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/crypto/commit/e79546e28b85ea53dd37afe1c4102746ef553b9c"><code>e79546e</code></a> ssh: curb GSSAPI DoS risk by limiting number of specified OIDs</li> <li><a href="https://github.com/golang/crypto/commit/f91f7a7c31bf90b39c1de895ad116a2bacc88748"><code>f91f7a7</code></a> ssh/agent: prevent panic on malformed constraint</li> <li><a href="https://github.com/golang/crypto/commit/2df4153a0311bdfea44376e0eb6ef2faefb0275b"><code>2df4153</code></a> acme/autocert: let automatic renewal work with short lifetime certs</li> <li><a href="https://github.com/golang/crypto/commit/bcf6a849efcf4702fa5172cb0998b46c3da1e989"><code>bcf6a84</code></a> acme: pass context to request</li> <li><a href="https://github.com/golang/crypto/commit/b4f2b62076abeee4e43fb59544dac565715fbf1e"><code>b4f2b62</code></a> ssh: fix error message on unsupported cipher</li> <li><a href="https://github.com/golang/crypto/commit/79ec3a51fcc7fbd2691d56155d578225ccc542e2"><code>79ec3a5</code></a> ssh: allow to bind to a hostname in remote forwarding</li> <li>See full diff in <a href="https://github.com/golang/crypto/compare/v0.44.0...v0.45.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/googleapis/google-cloud-go/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Complete rewrite of storage.MultiRangeDownloader. The new design should be more resilient to concurrency issues, deadlocks, retries, etc. --------- Co-authored-by: Priti Chattopadhyay <cpriti@google.com>
TODO: on adding the transport type as we need to make Prime() rpc blocking.
nimf
approved these changes
Jan 7, 2026
| } | ||
| } | ||
|
|
||
| if err := ctx.Err(); err != nil { |
Collaborator
There was a problem hiding this comment.
we don't need to check context error anymore?
| name string | ||
| dialFunc func() (*BigtableConn, error) | ||
| primeErrors []error | ||
| primeDelay time.Duration |
| wantPrimeCalls: 3, | ||
| }, | ||
| { | ||
| name: "Context Timeout", |
Collaborator
There was a problem hiding this comment.
do we need to test context timeout after one or more failed prime attempts?
…3553) PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.0.0-20251218164811-cd2252e38d0a Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:718167d5c23ed389b41f617b3a00ac839bdd938a6bd2d48ae0c2f1fa51ab1c3d <details><summary>ai: 0.15.0</summary> ## [0.15.0](googleapis/google-cloud-go@ai/v0.14.0...ai/v0.15.0) (2026-01-08) ### Features * add support for GroundingMetadata.google_maps_widget_context_token (PiperOrigin-RevId: 846116816) ([db65e79](googleapis@db65e792)) * add support for RetrievalConfig (PiperOrigin-RevId: 846118142) ([db65e79](googleapis@db65e792)) * add IMAGE_RECITATION reason when generation is stopped due to recitation (PiperOrigin-RevId: 846116816) ([db65e79](googleapis@db65e792)) * add support for GoogleMaps and FileSearch tools (PiperOrigin-RevId: 846118142) ([db65e79](googleapis@db65e792)) * add json_name for GenerationConfig.response_json_schema_ordered field (PiperOrigin-RevId: 846116816) ([db65e79](googleapis@db65e792)) </details> <details><summary>aiplatform: 1.113.0</summary> ## [1.113.0](googleapis/google-cloud-go@aiplatform/v1.112.0...aiplatform/v1.113.0) (2026-01-08) ### Features * add streaming function call argument API changes (PiperOrigin-RevId: 852409018) ([d19e89c](googleapis@d19e89ca)) * Add Lustre support to the Vertex Training Custom Job API (PiperOrigin-RevId: 846415033) ([db65e79](googleapis@db65e792)) ### Documentation * A comment for field `name` in message `.google.cloud.aiplatform.v1beta1.FunctionCall` is changed (PiperOrigin-RevId: 852409018) ([d19e89c](googleapis@d19e89ca)) * A comment for field `args` in message `.google.cloud.aiplatform.v1beta1.FunctionCall` is changed (PiperOrigin-RevId: 852409018) ([d19e89c](googleapis@d19e89ca)) * Update comments for machine resources and autoscaling (PiperOrigin-RevId: 846415033) ([db65e79](googleapis@db65e792)) </details> <details><summary>alloydb: 1.20.0</summary> ## [1.20.0](googleapis/google-cloud-go@alloydb/v1.19.0...alloydb/v1.20.0) (2026-01-08) ### Features * add POSTGRES_18 to DatabaseVersion (PiperOrigin-RevId: 852794094) ([d19e89c](googleapis@d19e89ca)) * add POSTGRES_18 to DatabaseVersion (PiperOrigin-RevId: 845801340) ([db65e79](googleapis@db65e792)) </details> <details><summary>apiregistry: 0.1.0</summary> ## [0.1.0](googleapis/google-cloud-go@apiregistry/v0.0.0...apiregistry/v0.1.0) (2026-01-08) ### Features * add new clients (googleapis#13525) (PiperOrigin-RevId: 848064295) ([1c4f400](googleapis@1c4f4008)) ### Documentation * another bulk typo correction (googleapis#13527) ([90a4f21](googleapis@90a4f21f)) </details> <details><summary>artifactregistry: 1.19.0</summary> ## [1.19.0](googleapis/google-cloud-go@artifactregistry/v1.18.0...artifactregistry/v1.19.0) (2026-01-08) ### Features * add Fingerprint to Artifact Registry Version resource (PiperOrigin-RevId: 846851972) ([db65e79](googleapis@db65e792)) ### Documentation * update the description of ExportArtifact (PiperOrigin-RevId: 846851972) ([db65e79](googleapis@db65e792)) </details> <details><summary>compute: 1.53.0</summary> ## [1.53.0](googleapis/google-cloud-go@compute/v1.52.0...compute/v1.53.0) (2026-01-08) ### Features * Update Compute Engine v1 API to revision 20251210 (googleapis#1137) ([d19e89c](googleapis@d19e89ca)) * Update Compute Engine v1beta API to revision 20251210 (googleapis#1138) ([d19e89c](googleapis@d19e89ca)) </details> <details><summary>errorreporting: 0.4.0</summary> ## [0.4.0](googleapis/google-cloud-go@errorreporting/v0.3.2...errorreporting/v0.4.0) (2026-01-08) ### Bug Fixes * update golang.org/x/net to 0.37.0 ([1144978](googleapis@11449782)) * update google.golang.org/api to 0.229.0 ([3319672](googleapis@3319672f)) * upgrade gRPC service registration func An update to Go gRPC Protobuf generation will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go service files. This change should affect very few client library users. See release notes advisories in googleapis#11025. (PiperOrigin-RevId: 817164257) ([a33d766](googleapis@a33d7666)) * update golang.org/x/net to v0.33.0 ([e9b0b69](googleapis@e9b0b696)) ### Documentation * automated code change (PiperOrigin-RevId: 802074437) ([a33d766](googleapis@a33d7666)) * Removes references as a &googleapis#34;global-only&googleapis#34; service (PiperOrigin-RevId: 652832022) ([a33d766](googleapis@a33d7666)) * Updates documentation with regional resource names for multiple requests (PiperOrigin-RevId: 652832022) ([a33d766](googleapis@a33d7666)) </details> <details><summary>geminidataanalytics: 0.5.0</summary> ## [0.5.0](googleapis/google-cloud-go@geminidataanalytics/v0.4.0...geminidataanalytics/v0.5.0) (2026-01-08) ### Features * add LookerGoldenQuery to Context (PiperOrigin-RevId: 845792138) ([db65e79](googleapis@db65e792)) ### Documentation * another bulk typo correction (googleapis#13527) ([90a4f21](googleapis@90a4f21f)) * fix typo in README.md entries (googleapis#13526) ([ac32b85](googleapis@ac32b851)) </details> <details><summary>longrunning: 0.8.0</summary> ## [0.8.0](googleapis/google-cloud-go@longrunning/v0.7.0...longrunning/v0.8.0) (2026-01-08) ### Bug Fixes * upgrade gRPC service registration func An update to Go gRPC Protobuf generation will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go service files. This change should affect very few client library users. See release notes advisories in googleapis#11025. (PiperOrigin-RevId: 833829944) ([185951b](googleapis@185951b3)) </details> <details><summary>maintenance: 0.3.0</summary> ## [0.3.0](googleapis/google-cloud-go@maintenance/v0.2.0...maintenance/v0.3.0) (2026-01-08) ### Documentation * another bulk typo correction (googleapis#13527) ([90a4f21](googleapis@90a4f21f)) * fix typo in README.md entries (googleapis#13526) ([ac32b85](googleapis@ac32b851)) * A comment for field `filter` in message `.google.cloud.maintenance.api.v1.SummarizeMaintenancesRequest` is changed (PiperOrigin-RevId: 845900064) ([db65e79](googleapis@db65e792)) </details> <details><summary>speech: 1.29.0</summary> ## [1.29.0](googleapis/google-cloud-go@speech/v1.28.1...speech/v1.29.0) (2026-01-08) ### Features * add custom prompt config in the request and return prompt in the response (PiperOrigin-RevId: 852383212) ([d19e89c](googleapis@d19e89ca)) * update min_speaker_count and max_speaker_count to be optional (PiperOrigin-RevId: 852383212) ([d19e89c](googleapis@d19e89ca)) ### Documentation * Clarify that min_speaker_count and max_speaker_count in SpeakerDiarizationConfig are not currently used (PiperOrigin-RevId: 852383212) ([d19e89c](googleapis@d19e89ca)) * Update guidance on how to enable speaker diarization; to enable, set the diarization_config field to an empty SpeakerDiarizationConfig message (PiperOrigin-RevId: 852383212) ([d19e89c](googleapis@d19e89ca)) </details>
…ationQueries (googleapis#13558) Fixes flaky datastore integration test by using dynamic ReadTime in retries. Fixes: googleapis#11491 After fix: ```go $ go test -count=25 -timeout 45m -run ^TestIntegration_AggregationQueries$ 2026/01/08 16:15:44 Setting up tests to run on databaseID: "" PASS ok cloud.google.com/go/datastore 44.841s $ ```
…#13557) Updated `datastore/integration_test.go` to use `suffix` in `NameKey` construction for `TestIntegration_IgnoreFieldMismatch`. This ensures the test operates on isolated entities, preventing flakey `datastore: no such entity` errors caused by collisions. Fixes: googleapis#12808 After fix: ```go $ go test -count=20 -timeout 45m -run ^TestIntegration_IgnoreFieldMismatch$ 2026/01/08 15:42:41 Setting up tests to run on databaseID: "" PASS ok cloud.google.com/go/datastore 47.186s $ ```
…st (googleapis#13559) Fixes: googleapis#13552 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This PR also modifies some emulator_test.sh driver scripts so that they also use gotestsum.
…is#13562) I'm cleaning up the GitHub teams. In Cloud SDK, the responsibility of the logging libraries have moved to the language teams. I believe it's the same for the Go's logging library. I went ahead with deleting the googleapis/api-logging-go-reviewers team (Kevin was the only member).
…3568) PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.7.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:718167d5c23ed389b41f617b3a00ac839bdd938a6bd2d48ae0c2f1fa51ab1c3d <details><summary>storage: 1.59.0</summary> ## [1.59.0](googleapis/google-cloud-go@storage/v1.58.0...storage/v1.59.0) (2026-01-09) ### Features * add default checksums for appendable writer (excludes appendable takeover writer) (googleapis#13379) ([647baf3](googleapis@647baf32)) ### Bug Fixes * refactor MultiRangeDownloader to resolve deadlock and race conditions (googleapis#13524) ([1cfd100](googleapis@1cfd100) </details>
) Fixes: googleapis#2949 When a struct field is marked with noindex, this property should be propagated to nested properties (This was solved in Node as well go/excludefromindexes-nested-fields). This works correctly for standard structs, but was failing for nested structs that implement PropertyLoadSaver. The failures manifested as "string property too long to index" errors because the client-side validation incorrectly assumed the nested properties were indexed and thus subject to the 1500-byte limit. This change updates save.go to explicitly propagate the noIndex status when recursing into PropertyLoadSaver entities (via the *Entity type in interfaceToProto).
…ogleapis#13807) 1. Fixes emulator connection scheme (Issue googleapis#10964): Aligns datastore client behavior with bigtable by using the passthrough:/// scheme for emulator connections. Uses regex to robustly strip existing schemes (http://, https://, passthrough:///) from the DATASTORE_EMULATOR_HOST environment variable before prepending passthrough:///. This ensures reliable connections to local emulators and avoids potential gRPC name resolution issues. 2. Fixes and tests nil key filtering (Issue googleapis#13499): Fix: Removed a redundant reflect.ValueOf(pf.Value).Interface() call in toProto which caused a panic when pf.Value was an untyped nil. The value is now passed directly to interfaceToProto, which handles nil correctly. Fixes googleapis#10964 Fixes googleapis#13499
…pis#13809) feat: update image to us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:19bb93e8f1f916c61b597db2bad65dc432f79baaabb210499d7d0e4ad1dffe29 This PR also demonstrates that feature enablement is being driven from https://github.com/googleapis/google-cloud-go/blob/main/.librarian/generator-input/repo-config.yaml as the MTLS feature is not enabled in bigquery/v2 there, thus removing the features from the generated code. I'll add it back in a subsequent PR (this module is not currently being released).
sushanb
added a commit
to googleapis/google-cloud-go
that referenced
this pull request
Feb 7, 2026
sushanb
added a commit
that referenced
this pull request
Jul 10, 2026
… non-blocking) and googleapis#16 (metrics fields) Tests (13 new, all passing): - Diverter: LoadZero/LoadOne counter assertions (spec googleapis#14) - session_test: ForceClose_SendsNoCloseSessionRequest, Close_IdempotentAcrossNCalls (spec #5) - lazy_pool_test: NilPoolAndNilOpenReturnNilNil, FailedOpenNotCached (spec #11) - table_test: MatView_MutateRowReturnsErrWriteNotSupported, ReadAndWritePoolsDoNotShareSessions (spec #11) - client_configuration_manager_test: MinPollingIntervalClamp (spec googleapis#13) - table_shim_test: SampleRowKeys/ApplyBulk/ApplyReadModifyWrite_AlwaysClassic, NilSession_AllMethodsFallBackToClassic, SessionErrorNotRetriedOnClassic (spec googleapis#14 + cross-cite #9) Specs: - SESSION_SPEC.md googleapis#15: all /-z debug pages MUST NOT block hot-path latencies (snapshot-not-view, RLock-only, bounded work, hung-pool-must-not-hang-handler). - SESSION_SPEC.md googleapis#16: cluster_id/zone_id/transport peer MUST be populated per-attempt on BOTH classic and session paths, from path-specific sources (classic: ResponseParams unmarshal; session: InvokeResult.ClusterInfo + Session.peerInfo). No cross-path source leakage. - SESSION_COMPONENT_SPEC.md Part C: 5 new ownership rows for per-attempt ClusterInfo / transport peer labels (classic vs session) and debug snapshot lock discipline. - SESSION_SPEC_TESTS.md: coverage map updated — 13 tests moved from MISSING/PARTIAL to COVERED; 11 new pending-test rows added for googleapis#15 and googleapis#16. - session-reviewer agent: 14→16 invariants; debugview/** added to trigger paths. - Slide deck: two new cells for googleapis#15 and googleapis#16.
sushanb
added a commit
that referenced
this pull request
Jul 10, 2026
Restructures the spec-driven review deck from a 5-slide feature tour into a 4-slide 'why we moved from one-shot prompting to specs' story: - Slide 1 — one-shot prompting definition + the three PRs that shipped this way (googleapis#19987 DirectAccessChecker, googleapis#20027 ChannelPrimer, googleapis#20099 client-side-metrics decouple). Common shape: extract one implicitly- unary abstraction into an interface. - Slide 2 — Jetstream is 30k+ LOC; one-shot breaks. Introduces the five spec files with verified invariant counts (10 / 4 / 5 / 3 / 12+PartC) and one illustrative rule per spec. - Slide 3 — SESSION_COMPONENT_SPEC.md tour: Part A (7-layer descriptive map), Part B (12 boundary MUST-rules with grep patterns), Part C (ownership matrix excerpts). - Slide 4 — three prompt sizes with real examples from this branch: (1) simple refactor — activeVRPC/casActiveVRPC accessor extraction; (2) logic addition — adaptive session-creation throttler + how the spec invariants (POOL #5, CLIENT #3, B6) chain together; (3) big feature — unified debugview/ (7 z-pages behind one Handler) and how B3, POOL #4, B10 crystallized during that refactor. Plus reviewer-agent flow and PASS/VIOLATION/AMBIGUOUS semantics. CSS and navigation unchanged. Counter reflects 4 slides. Companion specs-deck.md not updated in this commit — will follow.
sushanb
added a commit
that referenced
this pull request
Jul 20, 2026
…atchdog
Extract fakeBigtableServer into integration_session_fake_server_test.go
and sessionTestHarness into integration_session_harness_test.go. The
harness grows a functional-options API — withPoolSize(min, max),
withFakeSetup(fn), withoutRoutingWait(), withReverseCloseOrder() — that
lets the four previously hand-rolled test bodies (PeerInfo AFE parsing,
ServerErrorRetriesOnDifferentSession, reactive-watchdog integration,
ClientCloseSendsCloseSession) drop their ~5 lines of duplicated bufconn
+ grpc.Server + dialer + ClientConfig boilerplate apiece. withPoolSize
sets both the fake's advertised sizing AND the ClientConfig's requested
sizing in one place, so a sync mismatch (fake defaults would otherwise
overwrite the client's ask via the config manager) becomes unrepresentable.
Collapse the fake's parallel `vrpcRequests []*btpb.VirtualRpcRequest` +
`vrpcStreamIdxs []int64` slices into a single `[]capturedVRpc{req,
streamIdx}`. Consumers that need both fields now read them from one
snapshot instead of two, eliminating a between-snapshot alignment race
in ServerErrorRetriesOnDifferentSession.
Add TestIntegration_SessionVRpc_HeartbeatWatchdogReactiveToSessionParameters:
queueVRpcStalls(1) + SessionParams KeepAlive=100ms proves the reactive
watchdog fires on the atomic-shortened deadline. Retry succeeds on the
peer session in ~300ms + backoff; asserts elapsed<=1.5s,
PoolSnapshot.CloseReasons["MissedHeartbeat"]>0, and closeSessionCount==0
(ForceClose skips graceful CloseSession per SESSION_SPEC #5/#8).
integration_session_test.go: 1029 -> 902 lines.
sushanb
added a commit
that referenced
this pull request
Jul 22, 2026
…lers
handleVRPCResponse and handleVRPCErrorResponse were 90% identical —
same state gate, activeVRPC nil check, id-match guard, drainSlot,
counter bump, cancel-vs-deliver branch, notifySlotDrained, and Closing
signalQuiescent, differing only in the frame proto, nil-tag, counter,
and vrpcResult payload. Fold the shared skeleton into a private
routeVRPCFrame(rpcID, frameName, nilTag, counter, result) so the two
call sites can't drift on any of the Java-parity gating.
Log wording change: the wrongState assertion + drop debugf now use the
proto frame name uniformly ("VirtualRpcResponse" / "ErrorResponse")
instead of the split "vRPC response"/"vRPC error" (wrongState) vs
proto name (debugf) pair. No callers grep the text.
Behavioral parity verified by session-reviewer (SESSION_SPEC #2/#5/#6/
#10) and session-component-review (Part B B2/B7/B11 + Part C).
sushanb
added a commit
that referenced
this pull request
Jul 23, 2026
…StartMaintenance Follow-up to bf49fd5. The single-pass driver on SessionPoolImpl does more than scaling — it samples the time-series ring, samples every active session's uptime, sweeps stuck WaitServerClose sessions, and only THEN runs the sizer and (if it asked for growth) spawns createSession goroutines. "Scaling" was misleading for the first three of those; the new name reflects that this is a general-purpose maintenance driver whose scaling decision is one of four things it does. PerformScaling → Maintain StartBackgroundScaling → StartMaintenance Pure rename — no behavior change. Touches the SessionPool interface (session/lazy_pool.go), sessionClient.getOrCreatePool bootstrap (session/client.go), the definition + adjacent docs (session_pool_scaling.go, session_pool_lifecycle.go), the internal callers in CheckoutSession + onClosing (session_pool.go, session_pool_lifecycle.go), and the test function names/comments. Verified against SESSION_POOL_SPEC #5 (scaling gated + passive shrink), CLIENT_SIDE_METRICS_SPEC #3 (sampleActiveUptimes sole-writer), and the SESSION_COMPONENT_SPEC boundary/ownership rules — all pass. Two spec prose spots still call the loop "pool scaling loop"; deferred to a paired spec update.
sushanb
added a commit
that referenced
this pull request
Jul 23, 2026
Address gemini-code-assist review on session_vrpc.go:153-162: the Send- failure branch was firing hooks.onSlotDrained() and signalQuiescent() unconditionally, ignoring drainSlot's ok return. When concurrent teardown (cancelActiveRPCs / ForceClose) beats the Invoke path to freeing the slot, the teardown path is responsible for pool notification via OnClosing/OnClose — firing onSlotDrained on the losing path violates the SessionHooks contract that reserves it for the drain-succeeded path (SESSION_SPEC #5/#10). Wrap both calls in `if _, _, ok := s.drainSlot(rpc); ok { ... }`. Idempotence of the underlying ops isn't the point — the design says teardown paths do NOT fire onSlotDrained, and this brings the Send-failure branch back in line.
sushanb
added a commit
that referenced
this pull request
Jul 23, 2026
Address gemini-code-assist review on session_vrpc.go:153-162: the Send- failure branch was firing hooks.onSlotDrained() and signalQuiescent() unconditionally, ignoring drainSlot's ok return. When concurrent teardown (cancelActiveRPCs / ForceClose) beats the Invoke path to freeing the slot, the teardown path is responsible for pool notification via OnClosing/OnClose — firing onSlotDrained on the losing path violates the SessionHooks contract that reserves it for the drain-succeeded path (SESSION_SPEC #5/#10). Wrap both calls in `if _, _, ok := s.drainSlot(rpc); ok { ... }`. Idempotence of the underlying ops isn't the point — the design says teardown paths do NOT fire onSlotDrained, and this brings the Send-failure branch back in line.
sushanb
added a commit
that referenced
this pull request
Jul 23, 2026
Address gemini-code-assist review on session_vrpc.go:153-162: the Send- failure branch was firing hooks.onSlotDrained() and signalQuiescent() unconditionally, ignoring drainSlot's ok return. When concurrent teardown (cancelActiveRPCs / ForceClose) beats the Invoke path to freeing the slot, the teardown path is responsible for pool notification via OnClosing/OnClose — firing onSlotDrained on the losing path violates the SessionHooks contract that reserves it for the drain-succeeded path (SESSION_SPEC #5/#10). Wrap both calls in `if _, _, ok := s.drainSlot(rpc); ok { ... }`. Idempotence of the underlying ops isn't the point — the design says teardown paths do NOT fire onSlotDrained, and this brings the Send-failure branch back in line.
sushanb
added a commit
that referenced
this pull request
Jul 24, 2026
Address gemini-code-assist review on session_vrpc.go:153-162: the Send- failure branch was firing hooks.onSlotDrained() and signalQuiescent() unconditionally, ignoring drainSlot's ok return. When concurrent teardown (cancelActiveRPCs / ForceClose) beats the Invoke path to freeing the slot, the teardown path is responsible for pool notification via OnClosing/OnClose — firing onSlotDrained on the losing path violates the SessionHooks contract that reserves it for the drain-succeeded path (SESSION_SPEC #5/#10). Wrap both calls in `if _, _, ok := s.drainSlot(rpc); ok { ... }`. Idempotence of the underlying ops isn't the point — the design says teardown paths do NOT fire onSlotDrained, and this brings the Send-failure branch back in line.
sushanb
added a commit
that referenced
this pull request
Jul 27, 2026
…ClientConfig Fallback values (headroom, LB strategy, budget size, penalty, consecutive- failure threshold) in NewSessionPoolImpl now read from defaultClientConfig.SessionConfiguration.SessionPoolConfiguration via the existing defaultPoolConfig helper — single source of truth in default_client_config.go instead of literals duplicated in the constructor. Also update SESSION_POOL_SPEC.md #5 to drop the stale "default 10%" parenthetical (default now sourced from the proto). Ports the same change opened on PR googleapis#20225 against upstream (commit landed there via the pool-bundle PR).
sushanb
added a commit
that referenced
this pull request
Jul 30, 2026
sessionTable.Close was a no-op today because session pools are shared via sessionClient.sessionPools[poolKey] and were only reclaimed by sessionClient.Close. That drift meant bigtable.Client's TTL cache could evict a handle without freeing its underlying session pool + streams + goroutines. Design: add sessionClient.releaseSessionPool(key) and a buildLazyReleaser helper symmetric with the existing buildLazyOpener. OpenTable / OpenAuthorizedView / OpenMaterializedView now pass close closures to newSessionTable; sessionTable.Close invokes both (nil-safe for materialized views' missing write side) and joins any errors via errors.Join. releaseSessionPool no-ops cleanly when sessionPools is nil (client already closed) or when the key is absent (idempotent), matching the snapshot-under-lock + teardown-outside pattern used by sessionClient.Close. No refcount added: bigtable.Client's sessionTableCache guarantees at-most-one sessionTable per resource at any moment, so the cache IS the 'refcount of at-most-1'. Doc on sessionTable.Close names this invariant; if a future caller bypasses the cache the design must gain a refcount then. Api.go doc updated to match. Also fixes audit finding #5 (cache-close race): sessionTableCache gains a closed flag flipped under mu by close(). getOrOpen slow path re-checks it before insert — a slow openFn straddling close() now releases its freshly-opened api and returns nil (TableShim treats nil session as classic-only) instead of orphaning a handle whose Close would never fire. Without this the freshly-real teardown work above would turn every close-race into a per-race session-pool leak. Drive-by: switch the closeCountingTable test helper's counter from *int to *atomic.Int32. The sweeper-vs-test-goroutine race on that counter is pre-existing (fires under full-package -race on the base branch too) but was blocking the race-stress verification for this change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.