googleapis / googleapis/google-cloud-python

google-cloud-bigtable: ValueBitmaskFilter support for data client

Open
#17,255 1 comment 0 reactions 0 assignees View on GitHub
api: bigtable priority: p3 type: feature request
Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
3d 4h
Merged PRs (30d)
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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.