$ the-wire · showcase
JAX accrues into reshaped refs, Bigtable reroutes ReadRows, Spanner Omni adds password auth
By RepoJournal · Filed · About Google · Composed from the cited sources · methodology
JAX lifts a NotImplementedError from ref accumulation, Bigtable's ReadRows moves onto the data client with rst_stream retries alongside it, and Spanner Omni gains native username/password login over OPAQUE.
Support accumulation (`ref_addupdate`) on indexed `ReshapeTransform` views during state discharge, and explicitly reject unsupported view combinations. google/jax
`ref_addupdate` now works on views built from `ReshapeTransform` and `indexing.NDIndexer` instead of raising `NotImplementedError`: the buffer is forward-reshaped into the indexer domain, accumulated by slice update or scatter-add, then inverted through the leading reshapes. Unsupported view combinations are now rejected explicitly rather than failing opaquely.
feat: Rerouted ReadRows to data client googleapis/google-cloud-python
ReadRows now runs through the data client in google-cloud-python, with conversion helpers bridging `Row` and `Cell` objects to the legacy client's `PartialRowData` and `Cell`, and the old chunk-processing code removed. `_update_message_request` is gone from `RowSet` because it is no longer needed.
fix(bigtable): Added rst_stream exception handling for ReadRows. googleapis/google-cloud-python
The companion fix adds a custom retry predicate for ReadRows so `INTERNAL` errors carrying rst_stream error messages are treated as `UNAVAILABLE`, and retried only when `ServiceUnavailable` is allowed to retry. Stream resets that previously surfaced as hard internal failures can now be retried rather than propagated.
feat(spanner): auth login support for Spanner Omni endpoints (#18273) googleapis/google-cloud-python
Spanner Omni endpoints get native username/password authentication built on OPAQUE, with the hand-written logic in `LoginClient`, `SpannerOmniCredentials`, and the client and DB-API integrations; files under `google/cloud/spanner_v1/omni/proto/` are generated. The PR is flagged as breaking, so check Omni client construction and credential handling before picking it up.
chore(spanner): restore CrossSync parity for snapshot.py googleapis/google-cloud-python
`snapshot.py` had accumulated code the async source never had, because a branch written before the CrossSync migration merged after it and edited the generated file as if it were hand-maintained; running the generator deleted it. The `_transaction_begin_event` guard and the `read()` and `execute_sql()` docstrings are ported back into `_async/snapshot.py`, and a new presubmit check now catches r...