Skip to content

google-cloud-bigtable: ValueBitmaskFilter support for data client #17255

@axyjo

Description

@axyjo

Determine this is the right repository

  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage meI really want to be triaged.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions