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

[DocDB] Implement GetTableKeyRanges API limited to range-sharded tables support and forward scan #19341

Closed
1 task done
Tracked by #17984
ttyusupov opened this issue Sep 28, 2023 · 0 comments
Closed
1 task done
Tracked by #17984
Assignees
Labels
area/docdb YugabyteDB core features kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue

Comments

@ttyusupov
Copy link
Contributor

ttyusupov commented Sep 28, 2023

Jira Link: DB-8143

Description

Sub-task for #17986 with scope limited to forward scan for range-sharded tables

Warning: Please confirm that this issue does not contain any sensitive information

  • I confirm this issue does not contain any sensitive information.
@ttyusupov ttyusupov added kind/enhancement This is an enhancement of an existing feature area/docdb YugabyteDB core features status/awaiting-triage Issue awaiting triage labels Sep 28, 2023
@yugabyte-ci yugabyte-ci added the priority/medium Medium priority issue label Sep 28, 2023
@ttyusupov ttyusupov changed the title [DocDB] DocDB support for dynamic/interleaved parallelism every N blocks - forward scan, range-sharded tables [DocDB] Implement GetTableKeyRanges API with range-sharded tables support limited to forward scan Sep 28, 2023
@ttyusupov ttyusupov changed the title [DocDB] Implement GetTableKeyRanges API with range-sharded tables support limited to forward scan [DocDB] Implement GetTableKeyRanges API limited to range-sharded tables support and forward scan Sep 28, 2023
ttyusupov added a commit that referenced this issue Sep 29, 2023
Summary:
For YSQL parallel scans we need a way to break table tablets keyspaces into ranges of approximately the same defined data size, so parallel scan of these ranges takes about the same time.

This revision implements the following changes to support this:
- Tablet::GetTabletKeyRanges function that breaks tablet keyspace into ranges
- TabletServerService::GetTabletKeyRanges API that uses Tablet::GetTabletKeyRanges
- PGGate YBCGetTableKeyRanges function that break table keyspace into ranges
- Intermediate layers from PGGate YBCGetTableKeyRanges to Tablet::GetTabletKeyRanges including PgClientSession::GetTableKeyRanges that combines subsequent tablets' responses in case we cross tablet boundaries.

This revision scope is limited to support for range-based sharded tables and forward scan.

Added QLTabletRf1TestToggleEnablePackedRow.GetTabletKeyRanges tablet-level unit test for Tablet::GetTabletKeyRanges functionality and PggateTestSelect.GetTableKeyRanges, PggateTestSelect.GetColocatedTableKeyRanges for pggate-level functionality.
Jira: DB-8143

Test Plan: QLTabletRf1TestToggleEnablePackedRow.GetTabletKeyRanges, PggateTestSelect.GetTableKeyRanges, PggateTestSelect.GetColocatedTableKeyRanges

Reviewers: amartsinchyk, sergei

Reviewed By: amartsinchyk, sergei

Subscribers: yql, ybase, bogdan

Differential Revision: https://phorge.dev.yugabyte.com/D26978
@rthallamko3 rthallamko3 removed the status/awaiting-triage Issue awaiting triage label Oct 9, 2023
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docdb YugabyteDB core features kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue
Projects
Status: Done
Development

No branches or pull requests

3 participants