fix(bigtable): data client should acknowledge all mutations in batch - #18124
Conversation
…dged Change-Id: I9a166818c5829b446553fc1427d1f1d1ec078d0d
There was a problem hiding this comment.
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.
|
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 |
…ead of a count check Change-Id: I4ce3e38536a6aa6270806868074eb51c7832653a
fail V3 mutate_rows entries the server never acknowledged