googleapis / googleapis/google-cloud-python

google-cloud-bigtable: ValueBitmaskFilter support for data client

Ouverte
#17,255 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
api: bigtable priority: p3 type: feature request
Langage dominant
Python
Étoiles
5.4k
Forks
1.8k
Merge moyen
3 j 4 h
PR mergées (30 j)
122

Description

### 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_

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.