Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the ability to get Row cells in serverside order #154

Open
igorbernstein2 opened this issue Jan 13, 2020 · 0 comments
Open

Add the ability to get Row cells in serverside order #154

igorbernstein2 opened this issue Jan 13, 2020 · 0 comments
Labels
api: bigtable Issues related to the googleapis/java-bigtable API. type: docs Improvement to the documentation for an API.

Comments

@igorbernstein2
Copy link
Contributor

Bigtable stores data in the following order:

  1. lexicographically by row key
  2. family creation order
  3. lexicographically by qualifier
  4. reverse chronological by timestamp

The family ordering is not guaranteed so the data client currently pre-processes each row to change the ordering of families to be lexicographic order. This makes it convenient to do binary searches for specific values.

Unfortunately, this has negative repercussions when combined with cells_per_row_limit_filter and cells_per_row_offset_filter. Those filters are executed on the server side using the family creation order.

At the very least we need to update our docs to caution users against using those filters outside of a chain that narrows it to a single family.

In addition we should expose the server ordering of the cells on each row as Row#getRawCells() (maybe with a better name).

@igorbernstein2 igorbernstein2 added documentation Improvements or additions to documentation priority: p2 Moderately-important priority. Fix may not be included in next release. type: docs Improvement to the documentation for an API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. labels Jan 13, 2020
@google-cloud-label-sync google-cloud-label-sync bot added the api: bigtable Issues related to the googleapis/java-bigtable API. label Jan 29, 2020
@yoshi-automation yoshi-automation added 🚨 This issue needs some love. and removed 🚨 This issue needs some love. labels Apr 30, 2020
@JustinBeckwith JustinBeckwith removed documentation Improvements or additions to documentation type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. labels May 14, 2020
@yoshi-automation yoshi-automation added the 🚨 This issue needs some love. label Jul 11, 2020
@kolea2 kolea2 removed 🚨 This issue needs some love. priority: p2 Moderately-important priority. Fix may not be included in next release. labels Jul 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the googleapis/java-bigtable API. type: docs Improvement to the documentation for an API.
Projects
None yet
Development

No branches or pull requests

4 participants