[Enhancement] Optimize creating table using a shared initial tablet metadata between tablets in shared-data mode #45666
+229
−63
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I'm doing:
Creating table is very slow when there is many tablets in shared-data mode
What I'm doing:
Since the content stored in the tablet metadata of version 1 is the same for all tablets in the same partition,
we can let all tablets share the same tablet metadata of version 1. In this way, when creating a table, no matter how many tablets there are in a partition, only one tablet metadata needs to be written, making the time to create a table independent of the number of tablets, speeding up the creation of tables.
Add fe config lake_use_shared_tablet_initial_metadata to control this optimization.
Fixes https://github.com/StarRocks/StarRocksTest/issues/7246
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist:
Bugfix cherry-pick branch check: