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] Tablet splitting: single tablet first split may produce an empty child tablet #15083

Open
arybochkin opened this issue Nov 21, 2022 · 0 comments
Assignees
Labels
area/docdb YugabyteDB core features kind/bug This issue is a bug priority/low Low priority tablet-splitting

Comments

@arybochkin
Copy link
Contributor

arybochkin commented Nov 21, 2022

Jira Link: DB-4299

Description

Depending on keys structure in rocksdb, there can be a situation where a tablet contains the same hash code for the majority of key. This leads to a situation where the middle split key matches the very first key and such key selection leads to appearing an empty child. The issue is applicable only for hash partitioned tables and only for the first split of a single tablet (table has only one tablet).
Example:

create table demo (h int, r int generated always as identity, data text, primary key(h hash, r asc) );
copy demo(h, data) from program 'base64 -w 16384 /dev/urandom | head -c 838860800 | awk ''{ print 1, $0 }''' delimiter ' ';

This generates 800MB data of 51197 rows with h=1, r=1..51197, data - random 16KB text and results in the following split:
hash_split: [0x0000, 0x120F] (depth 1) - 0 bytes of SST files
hash_split: [0x1210, 0x5554] (depth 1) - 800MB of SST files

@ttyusupov

@arybochkin arybochkin added area/docdb YugabyteDB core features priority/low Low priority status/awaiting-triage Issue awaiting triage tablet-splitting labels Nov 21, 2022
@arybochkin arybochkin added this to Next in Tablet splitting via automation Nov 21, 2022
@yugabyte-ci yugabyte-ci added the kind/bug This issue is a bug label Nov 21, 2022
@yugabyte-ci yugabyte-ci removed the status/awaiting-triage Issue awaiting triage label Dec 13, 2022
@rthallamko3 rthallamko3 removed this from Next in Tablet splitting Dec 13, 2022
@arybochkin arybochkin removed their assignment Jan 17, 2023
@yugabyte-ci yugabyte-ci added kind/enhancement This is an enhancement of an existing feature kind/bug This issue is a bug and removed kind/bug This issue is a bug kind/enhancement This is an enhancement of an existing feature labels Mar 4, 2023
@yugabyte-ci yugabyte-ci assigned arybochkin and unassigned hbhanawat Sep 26, 2023
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/bug This issue is a bug priority/low Low priority tablet-splitting
Projects
None yet
Development

No branches or pull requests

3 participants