-
Notifications
You must be signed in to change notification settings - Fork 1k
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] Cleanup CatalogManager #19715
Labels
area/docdb
YugabyteDB core features
kind/enhancement
This is an enhancement of an existing feature
priority/medium
Medium priority issue
Comments
SrivastavaAnubhav
pushed a commit
that referenced
this issue
Apr 29, 2024
…er.cc Summary: This diff moves some heartbeat code out of catalog_manager.cc into `master_heartbeat_service.cc`, which is the entry point for the `TsHeartbeat` RPC. This makes it easier to follow the main heartbeat code and makes CatalogManager smaller. Jira: DB-10798, DB-8520 Test Plan: Existing tests Reviewers: zdrudi, hsunder Reviewed By: zdrudi Subscribers: ybase, bogdan Differential Revision: https://phorge.dev.yugabyte.com/D33966
SrivastavaAnubhav
pushed a commit
that referenced
this issue
Apr 29, 2024
Summary: This diff is a follow-up to D33966 which moves more functions which are only used on the heartbeat path out of `catalog_manager.cc` and into `master_heartbeat_service.cc`. There are no functional changes introduced in this diff. Test Plan: Existing tests Reviewers: zdrudi, hsunder Reviewed By: zdrudi Subscribers: ybase Differential Revision: https://phorge.dev.yugabyte.com/D34568
SrivastavaAnubhav
pushed a commit
that referenced
this issue
May 3, 2024
…nager.cc Summary: D33966 moved much of the heartbeat path code to `master_heartbeat_service.cc`. The code for processing updated tablets to the list of orphaned tablets was not moved because it required the catalog manager mutex to be held for its duration. This diff refactors that function (`GetReportedAndOrphanedTabletsFromReport`) to use batch APIs to get the table / tablet info objects, and then do the remaining processing not under the catalog manager mutex. Test Plan: existing tests Reviewers: zdrudi, hsunder Reviewed By: zdrudi Subscribers: ybase Differential Revision: https://phorge.dev.yugabyte.com/D34569
druzac
added a commit
that referenced
this issue
May 9, 2024
…log manager. Summary: This diff introduces a new class, MasterClusterHandler, to contain some RPC endpoint methods formerly in the CatalogManager. Jira: DB-8520 Test Plan: existing tests Reviewers: asrivastava Reviewed By: asrivastava Subscribers: ybase, slingam Differential Revision: https://phorge.dev.yugabyte.com/D34749
svarnau
pushed a commit
that referenced
this issue
May 25, 2024
…er.cc Summary: This diff moves some heartbeat code out of catalog_manager.cc into `master_heartbeat_service.cc`, which is the entry point for the `TsHeartbeat` RPC. This makes it easier to follow the main heartbeat code and makes CatalogManager smaller. Jira: DB-10798, DB-8520 Test Plan: Existing tests Reviewers: zdrudi, hsunder Reviewed By: zdrudi Subscribers: ybase, bogdan Differential Revision: https://phorge.dev.yugabyte.com/D33966
svarnau
pushed a commit
that referenced
this issue
May 25, 2024
Summary: This diff is a follow-up to D33966 which moves more functions which are only used on the heartbeat path out of `catalog_manager.cc` and into `master_heartbeat_service.cc`. There are no functional changes introduced in this diff. Test Plan: Existing tests Reviewers: zdrudi, hsunder Reviewed By: zdrudi Subscribers: ybase Differential Revision: https://phorge.dev.yugabyte.com/D34568
svarnau
pushed a commit
that referenced
this issue
May 25, 2024
…nager.cc Summary: D33966 moved much of the heartbeat path code to `master_heartbeat_service.cc`. The code for processing updated tablets to the list of orphaned tablets was not moved because it required the catalog manager mutex to be held for its duration. This diff refactors that function (`GetReportedAndOrphanedTabletsFromReport`) to use batch APIs to get the table / tablet info objects, and then do the remaining processing not under the catalog manager mutex. Test Plan: existing tests Reviewers: zdrudi, hsunder Reviewed By: zdrudi Subscribers: ybase Differential Revision: https://phorge.dev.yugabyte.com/D34569
svarnau
pushed a commit
that referenced
this issue
May 25, 2024
…log manager. Summary: This diff introduces a new class, MasterClusterHandler, to contain some RPC endpoint methods formerly in the CatalogManager. Jira: DB-8520 Test Plan: existing tests Reviewers: asrivastava Reviewed By: asrivastava Subscribers: ybase, slingam Differential Revision: https://phorge.dev.yugabyte.com/D34749
SrivastavaAnubhav
pushed a commit
that referenced
this issue
Jun 2, 2024
…g manager Summary: This diff moves some RPCs and functions which are specific to tablet splitting out of `catalog_manager.cc` and into `tablet_split_manager.cc`. It also removes the 3 interfaces we have which are all satisfied by the CatalogManager class right now. Jira: DB-11513, DB-8520 Test Plan: existing tests Reviewers: hsunder Reviewed By: hsunder Subscribers: ybase, asrivastava Differential Revision: https://phorge.dev.yugabyte.com/D34764
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
Jira Link: DB-8520
Description
CatalogManager has become the only master manager and it handles all master logic. The class has grown too big and has created high coupling between all yb components. There is no single ownership of this class making it hard to manager. The plan is to break up CatalogManager into multiple managers that are loosely coupled to each other.
Issue Type
kind/enhancement
Warning: Please confirm that this issue does not contain any sensitive information
The text was updated successfully, but these errors were encountered: