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] Skip system tables for splitting #11352

Closed
SrivastavaAnubhav opened this issue Feb 3, 2022 · 1 comment
Closed

[DocDB] Skip system tables for splitting #11352

SrivastavaAnubhav opened this issue Feb 3, 2022 · 1 comment
Assignees
Labels
area/docdb YugabyteDB core features

Comments

@SrivastavaAnubhav
Copy link
Contributor

Description

Automatically tablet splitting is currently enabled for system tables, even though most of these tables are stored on the master. We should limit automatic tablet splitting for system tables to ones that store their data on the tserver.

@SrivastavaAnubhav SrivastavaAnubhav added the area/docdb YugabyteDB core features label Feb 3, 2022
@SrivastavaAnubhav SrivastavaAnubhav self-assigned this Feb 3, 2022
@bmatican
Copy link
Contributor

Another good first issue, to get some exposure to tablet splitting, on the master side.

The main code would likely go into src/yb/master/tablet_split_manager.cc, in TabletSplitManager::ValidateSplitCandidateTable.

Normally, we'd want to validate via automatic tablet splitting. However, that would require writing some amount of data. Since these are system tables, that could be tricky. Instead, we could try to trigger a manual split, via yb-admin / an RPC in tests. Currently, this should fail on the tserver side, perhaps due to not having enough data to allow a split. After this change, it should fail master side, due to system tables not being allowed.

Can reach out to @SrivastavaAnubhav for more info about the master side TabletSplitManager code + how to add a test for this.

lingamsandeep added a commit that referenced this issue Mar 23, 2022
Summary: Changes to fail the splitting of system tables early on Master during validation

Test Plan: Added a targeted unit test to ensure that system table splits fail early during validation

Reviewers: rthallam, bogdan, asrivastava

Reviewed By: asrivastava

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D16146
nathanhjli pushed a commit to nathanhjli/yugabyte-db that referenced this issue Mar 31, 2022
Summary: Changes to fail the splitting of system tables early on Master during validation

Test Plan: Added a targeted unit test to ensure that system table splits fail early during validation

Reviewers: rthallam, bogdan, asrivastava

Reviewed By: asrivastava

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D16146
lingamsandeep added a commit that referenced this issue Apr 8, 2022
Summary:
Summary: Changes to fail the splitting of system tables early on Master during validation

Test Plan: Added a targeted unit test to ensure that system table splits fail early during validation

Original Differential Revision: https://phabricator.dev.yugabyte.com/D16146

Original Commit: 37c050a

Test Plan: ybd --cxx-test integration-tests_tablet-split-itest --gtest_filter TabletSplitITest.SplitSystemTable

Reviewers: asrivastava, bogdan

Reviewed By: bogdan

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D16430
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docdb YugabyteDB core features
Projects
None yet
Development

No branches or pull requests

3 participants