Skip to content

fix(bigtable): surface batcher flush errors and disable timer - #18145

Merged
mutianf merged 2 commits into
googleapis:mainfrom
mutianf:fix-bigtable-batcher-error-handling
Aug 19, 2026
Merged

fix(bigtable): surface batcher flush errors and disable timer#18145
mutianf merged 2 commits into
googleapis:mainfrom
mutianf:fix-bigtable-batcher-error-handling

Conversation

@mutianf

@mutianf mutianf commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

…op one-shot timer

Change-Id: I046bb0ee2c92ef20f842dea8eb5480e85717e87e
@mutianf
mutianf requested a review from a team as a code owner August 18, 2026 20:55

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

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 deprecates the background timer-based flush in MutationsBatcher and updates the close() method to handle exceptions during the final synchronous flush, ensuring that executor shutdown and cleanup are not aborted. The reviewer pointed out that catching a generic Exception in close() could lead to nested MutationsBatchError exceptions, and suggested explicitly catching and unpacking MutationsBatchError to maintain a flat list of exceptions.

Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/batcher.py
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@mutianf
mutianf enabled auto-merge (squash) August 18, 2026 21:01
@mutianf mutianf changed the title fix(bigtable): surface swallowed MutationsBatcher flush errors and dr… fix(bigtable): surface swallowed MutationsBatcher flush errors Aug 18, 2026
@mutianf
mutianf disabled auto-merge August 18, 2026 21:13
@mutianf mutianf added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Aug 19, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Aug 19, 2026
@mutianf mutianf changed the title fix(bigtable): surface swallowed MutationsBatcher flush errors fix(bigtable): surface batcher flush errors and disable timer Aug 19, 2026
@mutianf
mutianf merged commit fac536e into googleapis:main Aug 19, 2026
144 of 157 checks passed
@mutianf
mutianf deleted the fix-bigtable-batcher-error-handling branch August 19, 2026 12:37
parthea pushed a commit that referenced this pull request Aug 19, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.42.0](google-cloud-bigtable-v2.41.0...google-cloud-bigtable-v2.42.0)
(2026-08-19)


### Features

* **bigtable:** client side metrics handlers
([#16760](#16760))
([43b786c](43b786c))
* **bigtable:** initialize internal data client in classic client
([#18080](#18080))
([92008e2](92008e2))


### Bug Fixes

* **bigtable:** data client should acknowledge all mutations in batch
([#18124](#18124))
([e7f6a34](e7f6a34))
* **bigtable:** report swallowed batch flush errors and unacknowledged
entries
([#18122](#18122))
([2fe5bdc](2fe5bdc))
* **bigtable:** standardize client side metrics
([#17899](#17899))
([a69e2cb](a69e2cb))
* **bigtable:** surface batcher flush errors and disable timer
([#18145](#18145))
([fac536e](fac536e))
* bump grpcio to 1.59.0; require Python 3.10+
([#17351](#17351))
([a53487a](a53487a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants