Skip to content

RowRange empty open end gets interpreted as infinity #404

@DanielMahu

Description

@DanielMahu

The CBT server reads the empty string on the right side of an open interval as the special value "infinity".

In particular, our current implementation of RowRange::Empty() is in fact turned into "all row keys except the empty string", because we send ("", "") and this is translated to ["\0", infinity) internally.

There is an easy fix to Empty(), using ("", "\0"):

result.row_range_.set_end_key_open(std::string("\0", 1));

but this reveals further bugs in the code, such as that RowRange::IsEmpty() does not recognize this as the empty range that it is.

Metadata

Metadata

Assignees

Labels

🚨This issue needs some love.api: bigtableIssues related to the Bigtable API.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

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions