Skip to content

feat(bigtable): add pacemaker in connpool#13862

Merged
sushanb merged 11 commits intogoogleapis:mainfrom
sushanb:pace-maker-2
Feb 20, 2026
Merged

feat(bigtable): add pacemaker in connpool#13862
sushanb merged 11 commits intogoogleapis:mainfrom
sushanb:pace-maker-2

Conversation

@sushanb
Copy link
Copy Markdown
Contributor

@sushanb sushanb commented Feb 18, 2026

No description provided.

@sushanb sushanb requested review from a team and mutianf February 18, 2026 05:08
@sushanb sushanb requested review from a team as code owners February 18, 2026 05:08
@product-auto-label product-auto-label Bot added the api: bigtable Issues related to the Bigtable API. label Feb 18, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a 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 introduces two new background mechanisms to the Bigtable connection pool: a connection recycler and a pacemaker. The connection recycler proactively replaces connections based on their age to prevent issues with long-lived connections. The pacemaker is an observability tool that monitors and reports goroutine scheduling delays, providing insights into application health. Additionally, the configuration for the dynamic channel pool has been inverted from an opt-in (Enable...) to an opt-out (Disable...) model, making it enabled by default.

The implementation looks solid, with corresponding configurations and tests for the new features. I've left a few minor comments regarding typos, comment clarity, and a test assertion that could be strengthened.

Comment thread bigtable/client.go
Comment thread bigtable/client.go
Comment thread bigtable/internal/transport/conn_recycler.go
Comment thread bigtable/internal/transport/pacemaker.go Outdated
Comment thread bigtable/internal/transport/pacemaker_test.go
@sushanb sushanb requested a review from bhshkh February 19, 2026 20:52
@sushanb sushanb merged commit 9af047f into googleapis:main Feb 20, 2026
13 of 18 checks passed
bhshkh added a commit that referenced this pull request Mar 16, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.8.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:19bb93e8f1f916c61b597db2bad65dc432f79baaabb210499d7d0e4ad1dffe29
<details><summary>bigtable: 1.43.0</summary>

##
[1.43.0](bigtable/v1.42.0...bigtable/v1.43.0)
(2026-03-16)

### Features

* Add support for creating Instance with tags (#13459)
([1bce843](1bce843e))

* support tiered storage (#13793)
([39a25b9](39a25b92))

* add handling of longupdown metrics aka gauge (#13871)
([519ed9b](519ed9b0))

* Use direct access when supported. Guarded by enabling… (#13873)
([5ea1f5f](5ea1f5f9))

* add preemptive connection recycler (#13860)
([6b69ee3](6b69ee38))

* make downscalling less aggressive (#14123)
([7ac72cc](7ac72cc8))

* add pacemaker in connpool (#13862)
([9af047f](9af047f7))

* populate ip protocol for direct access checker and rename a method to
be concise (#14011)
([9c5e655](9c5e6551))

* add connection factory to abstract connection (#13755)
([b08ea15](b08ea15f))

* make pow of 2 default lb policy (#14131)
([b5f7bf2](b5f7bf27))

* derive conn pool from resolver (#14147)
([b903e29](b903e299))

* add load balancing penalty for channel (#14149)
([bb64998](bb649988))

* cap increase in conn for dynamic chan pool (#14144)
([e0701a4](e0701a46))

* switch to rand v2 (#14008)
([ee6f425](ee6f4251))

### Bug Fixes

* slighly change instruction for direct access (#14119)
([7dd4948](7dd4948d))

* refactor bigtable.go into separate file path per interfaces (#13818)
([c8ae2e2](c8ae2e2a))

</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigtable Issues related to the Bigtable API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants