fix(bigtable): fix a nil pointer deference in remove connections when…#13535
fix(bigtable): fix a nil pointer deference in remove connections when…#13535sushanb merged 1 commit intogoogleapis:mainfrom
Conversation
… one conn is being drained
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 addresses a critical bug in the Bigtable client's connection pool management. It fixes a nil pointer dereference that could occur in the 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 addresses a potential nil pointer dereference in removeConnections that could occur when the connection pool contains draining connections. The fix correctly filters the list of connections to consider for removal by using append to build a new slice, which is a robust and idiomatic approach in Go. This prevents nil entries that caused the original bug. A new test case, MixedDrainingState, is also added to ensure the fix works as expected and prevents future regressions. The changes are correct and improve the stability of the connection pool logic.
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>
… one conn is being drained