feat(bigtable): add dynamic channel support (#2)#13504
feat(bigtable): add dynamic channel support (#2)#13504sushanb merged 2 commits intogoogleapis:mainfrom
Conversation
* WIP * WIO * Fix * Address feedback * remove alts * FIX * WIO * WIP * WIP * Make conn draining timeout 30mins * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * Review comments * WIP * WIP * go2 complete
Summary of ChangesHello @sushanb, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a significant enhancement to the Bigtable client by implementing dynamic channel scaling. This feature allows the client's connection pool to intelligently adapt its size to the application's workload, automatically adding more connections during high demand and reducing them during low usage. This ensures optimal resource utilization, reduces operational overhead, and maintains efficient performance under varying load conditions. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces dynamic channel pool scaling, a significant feature that allows the Bigtable client to adjust its connection pool size based on load. The implementation includes a DynamicScaleMonitor, configuration options, and modifications to the connection pool to support adding and removing connections. While the overall approach is sound, I've identified a couple of critical issues, including one that will cause a compilation error and another that could lead to a runtime panic. I've also noted a high-severity performance concern regarding lock contention and a medium-severity issue with an unused function parameter. Addressing these points will be crucial for the stability and performance of this new feature.
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:01189c9771ac4150742aed38eb52e19a008018889066002742034b7f82db070f <details><summary>bigtable: 1.42.0</summary> ## [1.42.0](bigtable/v1.41.0...bigtable/v1.42.0) (2026-02-04) ### Features * add TieredStorageConfig to table admin api (PiperOrigin-RevId: 863493708) ([611f239](611f2392)) * add dynamic channel support (#2) (#13504) ([65a3c4e](65a3c4ec)) * add ip protocol for bigtable connection (#13520) ([6f86983](6f86983e)) * add metrics exporter for outstandingrpcs and perconnectionerror count (#13510) ([7f1b36a](7f1b36ac)) * add client startup time metrics. (#13521) ([8f90da3](8f90da38)) * introduce prime() method and load counting based on unary,streaming and ability to remove connection (#13419) ([c6773ce](c6773ceb)) ### Bug Fixes * handle client region and client host name based on ote… (#13752) ([0429170](0429170f)) * fix a nil pointer deference in remove connections when… (#13535) ([9d2ba82](9d2ba82e)) ### Performance Improvements * use passthrough with emulator endpoint (#13739) ([dafbca2](dafbca22)) </details>
Cherrypick of sushanb#2
THe commit id is sushanb@8579aed
The delta is same (+933, -4)