feat(bigtable): Use direct access when supported. Guarded by enabling…#13873
feat(bigtable): Use direct access when supported. Guarded by enabling…#13873sushanb merged 2 commits intogoogleapis:mainfrom
Conversation
… CBT_BIGTABLE_CONN_POOL
There was a problem hiding this comment.
Code Review
The pull request introduces direct access functionality for Bigtable clients, allowing for a more optimized connection path when available. It includes new options for the channel pool to configure direct access dialers and feature flags, and modifies the connection pool initialization to attempt direct access first. New test cases have been added to cover various scenarios of direct access availability and fallback mechanisms. The changes appear to be well-structured and include appropriate logging for debugging direct access attempts. All original comments have been retained as they do not contradict any provided rules and offer valid suggestions for code quality and readability.
| } | ||
| } | ||
|
|
||
| // WithDirectAccessFeatureFlagsMetadata provides the feature flags required for DirectAccess |
There was a problem hiding this comment.
Is it documented somewhere what feature flags are ? or what metadata for feature flags is supposed to contain?
I was thinking feature flags is something internal to the library and the Bigtable service and not exposed to the user.
There was a problem hiding this comment.
yes, the client automatically creates the feature flags required for direct access and tries to use direct access.
This is hidden to the end users of the client.
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>
Current limitations: