FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(bigtable): data client should acknowledge all mutations in batch by mutianf · Pull Request #18124 · googleapis/google-cloud-python · GitHub

fix(bigtable): data client should acknowledge all mutations in batch - #18124

Merged
daniel-sanche merged 2 commits into
googleapis:mainfrom
mutianf:bigtable-v3-mutate-rows-response-count
Aug 17, 2026
Merged

fix(bigtable): data client should acknowledge all mutations in batch#18124
daniel-sanche merged 2 commits into
googleapis:mainfrom
mutianf:bigtable-v3-mutate-rows-response-count

Conversation

mutianf commented Aug 14, 2026
edited by daniel-sanche
Loading

Copy link
Copy Markdown
Contributor

fail V3 mutate_rows entries the server never acknowledged

…dged

Change-Id: I9a166818c5829b446553fc1427d1f1d1ec078d0d
mutianf requested a review from a team as a code owner August 14, 2026 21:51

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.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Code Review

This pull request introduces a response completeness check to both the async and sync implementations of _mutate_rows.py, ensuring that any mutation entries not acknowledged by the server are explicitly failed with a ClientError rather than being silently treated as successful. While the added test coverage is thorough, the reviewer correctly identified a critical bug in both implementations: when mutations are retried across multiple attempts, obsolete acknowledgments and errors from previous attempts are not cleared, which prevents the completeness check from correctly identifying silently dropped entries in subsequent attempts. To resolve this, the state of retried entries should be cleared at the start of each attempt.

daniel-sanche changed the title feat(bigtable): fail V3 mutate_rows entries the server never acknowle… fix(bigtable): data client should acknowledge all mutations in batch Aug 14, 2026

Copy link
Copy Markdown
Contributor

Did your original approach not work? I thought that seemed like a good solution.

Gemini pointed out some issues with the new approach. It could be difficult to keep a global _acknowledged_indices map up-to-date, because each attempt is another chance to drop a mutation. It would be better if we could keep all the per-attempt state within _run_attempt

…ead of a count check

Change-Id: I4ce3e38536a6aa6270806868074eb51c7832653a
daniel-sanche added kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Aug 17, 2026
yoshi-kokoro removed kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Aug 17, 2026
daniel-sanche merged commit e7f6a34 into googleapis:main Aug 17, 2026
47 checks passed
mutianf deleted the bigtable-v3-mutate-rows-response-count branch August 17, 2026 20:50
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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.

3 participants


Back | FazBrowse Home | New Git URL