Skip to content

fix(gapic-generator): do not emit empty routing metadata on client-streaming RPCs - #18591

Merged
daniel-sanche merged 2 commits into
mainfrom
fix_bq_routing_header_gapic-generator_16650
Oct 8, 2026
Merged

daniel-sanche merged 2 commits into
mainfrom
fix_bq_routing_header_gapic-generator_16650

Conversation

@daniel-sanche

Copy link
Copy Markdown
Contributor

Previously, the generator would output empty routing metadata for client-streaming RPCs. Instead, we should skip adding routing metadata altogether when client_streaming is true.

Addresses #16650 (will be fixed after next generator update)

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

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 prevents the generation of routing metadata headers for client streaming and bidirectional streaming RPC methods in Python GAPIC clients. It updates Jinja2 templates (both standard and ads-specific) to conditionally skip metadata generation when method.client_streaming is true. It also adds streaming methods to test proto definitions and introduces a comprehensive unit test to verify this behavior. I have no feedback to provide as there are no review comments.

@daniel-sanche
daniel-sanche merged commit bbdd643 into main Oct 8, 2026
123 checks passed
@daniel-sanche
daniel-sanche deleted the fix_bq_routing_header_gapic-generator_16650 branch October 8, 2026 20:30
@release-please release-please Bot mentioned this pull request Oct 8, 2026
hj690 pushed a commit that referenced this pull request Oct 15, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>db-dtypes: 1.8.0</summary>

##
[1.8.0](db-dtypes-v1.7.2...db-dtypes-v1.8.0)
(2026-10-15)


### Features

* **db-dtypes:** support pandas 3.1
([#18590](#18590))
([f18a11e](f18a11e))
</details>

<details><summary>gapic-generator: 1.43.1</summary>

##
[1.43.1](gapic-generator-v1.43.0...gapic-generator-v1.43.1)
(2026-10-15)


### Bug Fixes

* **gapic-generator:** do not emit empty routing metadata on
client-streaming RPCs
([#18591](#18591))
([bbdd643](bbdd643))
* **gapic-generator:** resolve showcase-mypy incompatible redefinition
([7032a89](7032a89))
* **gapic-generator:** resolve showcase-mypy incompatible redefinition
and add canary CI job
([#18701](#18701))
([7032a89](7032a89))
</details>

<details><summary>gcp-sphinx-docfx-yaml: 3.4.0</summary>

##
[3.4.0](gcp-sphinx-docfx-yaml-v3.3.3...gcp-sphinx-docfx-yaml-v3.4.0)
(2026-10-15)


### Features

* **gcp-sphinx-docfx-yaml:** optimize performance
([#18588](#18588))
([cf1a0e5](cf1a0e5))
</details>

<details><summary>google-cloud-alloydb: 0.11.4</summary>

##
[0.11.4](google-cloud-alloydb-v0.11.3...google-cloud-alloydb-v0.11.4)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-bigquery: 3.46.2</summary>

##
[3.46.2](google-cloud-bigquery-v3.46.1...google-cloud-bigquery-v3.46.2)
(2026-10-15)


### Bug Fixes

* **bigquery:** accept empty sourceFormat fields
([#18472](#18472))
([590e43d](590e43d))
* **bigquery:** drop startIndex whenever a page token is sent
([#18603](#18603))
([fc6eae3](fc6eae3))
* **bigquery:** remove PendingDeprecationWarning from
RowIterator.to_arrow
([#18684](#18684))
([9025061](9025061))
</details>

<details><summary>google-cloud-bigquery-storage: 2.43.0</summary>

##
[2.43.0](google-cloud-bigquery-storage-v2.42.0...google-cloud-bigquery-storage-v2.43.0)
(2026-10-15)


### Features

* **bigquery-storage:** add Arrow options and cancel to read_rows
([#18643](#18643))
([939bdd0](939bdd0))
</details>

<details><summary>google-cloud-bigtable: 2.50.1</summary>

##
[2.50.1](google-cloud-bigtable-v2.50.0...google-cloud-bigtable-v2.50.1)
(2026-10-15)


### Bug Fixes

* **bigtable:** avoid hang when batcher not closed on process exit
([#18610](#18610))
([7674c91](7674c91))
* **bigtable:** fix authentication scopes for metrics exporter
([#18609](#18609))
([722d34e](722d34e))
</details>

<details><summary>google-cloud-build: 3.41.0</summary>

##
[3.41.0](google-cloud-build-v3.40.0...google-cloud-build-v3.41.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-compute: 1.56.0</summary>

##
[1.56.0](google-cloud-compute-v1.55.0...google-cloud-compute-v1.56.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-compute-v1beta: 0.12.9</summary>

##
[0.12.9](google-cloud-compute-v1beta-v0.12.8...google-cloud-compute-v1beta-v0.12.9)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-contact-center-insights: 1.29.0</summary>

##
[1.29.0](google-cloud-contact-center-insights-v1.28.0...google-cloud-contact-center-insights-v1.29.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-dataproc: 5.32.0</summary>

##
[5.32.0](google-cloud-dataproc-v5.31.0...google-cloud-dataproc-v5.32.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-datastream: 1.21.0</summary>

##
[1.21.0](google-cloud-datastream-v1.20.0...google-cloud-datastream-v1.21.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-memorystore: 0.5.6</summary>

##
[0.5.6](google-cloud-memorystore-v0.5.5...google-cloud-memorystore-v0.5.6)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-pubsub: 2.43.0</summary>

##
[2.43.0](google-cloud-pubsub-v2.42.0...google-cloud-pubsub-v2.43.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-redis-cluster: 0.5.5</summary>

##
[0.5.5](google-cloud-redis-cluster-v0.5.4...google-cloud-redis-cluster-v0.5.5)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-securitycenter: 1.48.0</summary>

##
[1.48.0](google-cloud-securitycenter-v1.47.0...google-cloud-securitycenter-v1.48.0)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

<details><summary>google-cloud-storage: 3.17.1</summary>

##
[3.17.1](google-cloud-storage-v3.17.0...google-cloud-storage-v3.17.1)
(2026-10-15)


### Bug Fixes

* **storage:** set GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES=2 in benchmark
runner
([#18703](#18703))
([a9ca134](a9ca134))
</details>

<details><summary>google-developer-knowledge: 0.1.5</summary>

##
[0.1.5](google-developer-knowledge-v0.1.4...google-developer-knowledge-v0.1.5)
(2026-10-15)


### Features

* update API sources and regenerate
([#18699](#18699))
([1aa57db](1aa57db))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants