Skip to content

fix(storage): set GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES=2 in benchmark runner - #18703

Merged
chandra-siri merged 1 commit into
googleapis:mainfrom
shradhakatyal:fix/benchmark-alts-handshakes
Oct 15, 2026
Merged

chandra-siri merged 1 commit into
googleapis:mainfrom
shradhakatyal:fix/benchmark-alts-handshakes

Conversation

@shradhakatyal

Copy link
Copy Markdown
Contributor

Summary

In benchmarks-cloudbuild.yaml, the standing benchmark VM (gcs-benchmark-runner-us-west4-a) is cold-started immediately before executing run_benchmark_tests.sh with 48 concurrent worker processes (PROCESSES=48).

By default in gRPC, GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES is 100 per process (48 * 100 = 4,800 potential concurrent streams). When all 48 processes simultaneously initiate DirectPath ALTS handshakes against the local GCE metadata server (169.254.169.254:8080, ~100 stream buffer limit), the metadata server drops streams with UNAVAILABLE: GOAWAY received; Error code: 11; Debug Text: Buffers full {http2_error:11}, stalling Round 1 from 35.3s (5s warmup + 30s measurement) to 41.5s–49.0s and dragging down the 3-round average throughput.

Change

  • Configure and export GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES="${GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES:-2}" in packages/google-cloud-storage/cloudbuild/run_benchmark_tests.sh so that 48 worker processes never exceed 96 concurrent ALTS handshakes against the local metadata server while still allowing each worker to handshake multiple DirectPath subchannels concurrently.

@shradhakatyal
shradhakatyal requested review from a team as code owners October 15, 2026 10:26

@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 introduces the GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES environment variable (defaulting to 2) in the benchmark test script run_benchmark_tests.sh. This configuration limits concurrent ALTS handshakes per worker process to prevent "Buffers full" errors against the local GCE metadata server. The variable is also logged and exported. There are no review comments, so no feedback is provided.

@shradhakatyal

Copy link
Copy Markdown
Contributor Author

/gcbrun (7a165cb)

@chandra-siri
chandra-siri merged commit a9ca134 into googleapis:main Oct 15, 2026
95 checks passed
@release-please release-please Bot mentioned this pull request Oct 15, 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