Skip to content

Conversation

@daniel-sanche
Copy link
Contributor

Previously, when a channel refresh occurs, the async client would use channel.close() with a grace parameter to allow previous channels to keep serving old requests for a time. We were seeing flakes in our tests, showing that channel.close() isn't reliable, and can sometimes cancel ongoing requests before the grace period ends

This PR fixes this by using a fixed sleep time before calling close in the async client, like the sync client already does. This should remove the potential for cancelled requests before the grace period ends, and improve test flakiness

I also updated the system test to fully capture this problematic state, instead of encountering it in a random race condition

@daniel-sanche daniel-sanche requested review from a team as code owners November 21, 2025 22:00
@product-auto-label product-auto-label bot added size: m Pull request size is medium. api: bigtable Issues related to the googleapis/python-bigtable API. labels Nov 21, 2025
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 googleapis/python-bigtable API. size: m Pull request size is medium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants