googleapis / googleapis/google-cloud-python
google-cloud-bigtable: ValueBitmaskFilter support for data client
- Vorherrschende Sprache
- Python
- Sterne
- 5.4k
- Forks
- 1.8k
- Ø Merge
- 3 T. 4 Std.
- Gemergte PRs (30 T.)
- 122
Beschreibung
### Determine this is the right repository
- [x] I determined this is the correct repository in which to report this bug.
### Summary of the issue
**Context**
We're on google-cloud-bigtable 2.38.0 using `BigtableDataClient` (the data client). We wanted to use the new `value_bitmask_filter` row filter (added to the `RowFilter` proto in 2.38) as part of a `ConditionalRowFilter` chain for a server-side bloom-filter prefilter.
**Expected Behavior:**
`google.cloud.bigtable.data.row_filters` exposes a `ValueBitmaskFilter` class that subclasses the data-client `RowFilter` ABC, so it composes into `RowFilterChain` / `ConditionalRowFilter` alongside the other data-client filters — matching the `ValueBitmaskFilter` that already exists in the legacy `google.cloud.bigtable.row_filters` module.
**Actual Behavior:**
`google.cloud.bigtable.data.row_filters` has no `ValueBitmaskFilter`. The legacy module's wrapper can't be used because it subclasses a different `RowFilter` base (`to_pb()` vs the data client's `_to_dict()`/`_to_pb()`), so it doesn't compose into data-client filter chains. We worked around it with a local `RowFilter` subclass overriding `_to_dict()` to return `{"value_bitmask_filter": data_v2_pb2.ValueBitmask(mask=...)}`, which works fine — but it'd be nice to have parity in the data-client module.
### API client name and version
google-cloud-bigtable 2.38
### Reproduction steps: code
n/a
### Reproduction steps: supporting files
_No response_
### Reproduction steps: actual results
_No response_
### Reproduction steps: expected results
_No response_
### OS & version + platform
_No response_
### Python environment
python 3.14
### Python dependencies
_No response_
### Additional context
_No response_
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.