$ the-wire · showcase
Bigtable reroutes CheckAndMutateRows and ReadModifyWriteRows
By RepoJournal · Filed · About Google
Bigtable's conditional and append row commits now route through the data client instead of raw protos.
The bigtable Python library rerouted `ConditionalRow.commit` and `AppendRow.commit`, which back CheckAndMutateRows and ReadModifyWriteRows, to use the data client rather than raw protos, with `Row` objects now holding data-client `Mutation` and `ReadModifyWriteRowRule` objects [1]. This is a breaking change for code that referenced those row internals directly.
Google-api-core added a centralized `apply_interceptors` helper, allowing generated libraries to apply gRPC channel wrappers in a predictable, order-preserving pipeline, addressing sync-versus-async channel wrapping differences [2]. A companion refactor simplified the OTel interceptor helpers by extracting `_get_tracer_provider(client_options)` into one lookup point [3].
Python-genai v2.22.0 adds the Gemini 3.8 Flash model to its SDKs [4][5], alongside a JAX fix that guards `PyArray_Storage::ifrt_array` behind the existing `mu`, making it thread-safe [6].
Action items
- → Review code that accesses Bigtable Row mutation internals; they now hold data-client objects. googleapis/google-cloud-python [immediate]
- → Upgrade python-genai to 2.22.0 to access Gemini 3.8 Flash. googleapis/python-genai [plan]
- → Monitor google-api-core for the new apply_interceptors helper in your wrapped channels. googleapis/google-cloud-python [monitor]
References
- [1] feat(bigtable): Rerouted CheckAndMutateRows and ReadModifyWriteRows to data client (#18190) ↗ googleapis/google-cloud-python
- [2] feat(api-core): add ClientInterceptor and apply_interceptors helper (A) ↗ googleapis/google-cloud-python
- [3] refactor(api-core): simplify OTel interceptor helpers and extract tracer provider (#18263) ↗ googleapis/google-cloud-python
- [4] v2.22.0 ↗ googleapis/python-genai
- [5] feat: Add Gemini 3.8 Flash model to SDKs and update Flash model descriptions ↗ googleapis/python-genai
- [6] Guard PyArray_Storage::ifrt_array with mu. ↗ google/jax