-
Notifications
You must be signed in to change notification settings - Fork 1.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] Splitting: Disable automatic splitting for 2DC enabled tables #8256
Comments
Thoughts:
|
@nspiegelberg Can you elaborate a bit more on 1) do you mean disable splitting as part of replication setup, via an extra flag in the command, or just automatically set some property which disables splitting? For 2) maybe I'm missing something, but when you say mixed versions, are you worried about
What I was thinking, for version compatibility, is that whatever fix we generate here, will be in the version that enables tablet splitting by default. So there would only be 2 states of the world
I was kind of hoping for something stateless AND not requiring new explicit user intervention, eg: since the master (CatalogManager) is responsible for whether or not to trigger a split for a tablet, if it knew that this tablet belongs to a table which is either a consumer or a producer in xCluster, then that would be a very cheap and self-contained fix. |
My original solution is to just have the CLI command also handle a splitting disable on the tables involved in the command. You're suggesting a solution that checks the in-memory table state at split request time. For that:
|
…enabled tables Summary: Adding new gflag `enable_tablet_split_of_xcluster_replicated_tables` that by default is false, and will disable tablet splitting for tables that are a part of an xcluster replication setup. This includes tables that haves a cdc stream (ie producer tables), and also consumer tables which are being replicated to. Main changes include adding in a map/set for keeping better track of which tables are involved in xcluster replication/cdc streams. Test Plan: ``` ybd --cxx_test tablet-split-itest --gtest-filter NotSupportedTabletSplitITest.SplittingWithCdcStream ybd --cxx_test tablet-split-itest --gtest-filter NotSupportedTabletSplitITest.SplittingWithXClusterReplicationOnProducer ybd --cxx_test tablet-split-itest --gtest-filter NotSupportedTabletSplitITest.SplittingWithXClusterReplicationOnConsumer ``` Reviewers: bogdan, nicolas, rsami Reviewed By: rsami Subscribers: timur, rsami, ybase Differential Revision: https://phabricator.dev.yugabyte.com/D12258
After we have #8234, it should be very easy to expand the set of constraints on what to enable/disable splitting on.
Until we have #5373, we should at least disable automatic splitting on such tables.
The text was updated successfully, but these errors were encountered: