This repository has been archived by the owner on Jun 23, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 58
feat(split): parent replica prepare states #299
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hycdong
changed the title
split: parent replica prepare states
feat: partition split parent replica prepare states
Aug 22, 2019
hycdong
changed the title
feat: partition split parent replica prepare states
feat: partition split - parent replica prepare states
Aug 22, 2019
hycdong
requested review from
neverchanje,
acelyc111,
qinzuoyan and
vagetablechicken
August 23, 2019 04:15
neverchanje
changed the title
feat: partition split - parent replica prepare states
feat(split): parent replica prepare states
Aug 23, 2019
neverchanje
reviewed
Aug 28, 2019
neverchanje
reviewed
Sep 3, 2019
src/dist/replication/test/replica_test/unit_test/replica_split_test.cpp
Outdated
Show resolved
Hide resolved
neverchanje
reviewed
Sep 5, 2019
neverchanje
previously approved these changes
Sep 5, 2019
neverchanje
reviewed
Sep 5, 2019
neverchanje
reviewed
Sep 5, 2019
我没有太大问题了,剩下几个 comments 改一下我觉得就可以过 |
neverchanje
previously approved these changes
Sep 6, 2019
neverchanje
approved these changes
Sep 6, 2019
vagetablechicken
approved these changes
Sep 6, 2019
This was referenced Sep 10, 2019
Closed
This was referenced Feb 14, 2020
This was referenced Oct 28, 2020
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Simple partition split process
More partition split discussion in issue #69
This pr solves the fourth step of partition split, which is bold in process description.
What this pr solved
parent_prepare_states
, states including:In learn. potential secondary replica learn states from primary replica on another replica server. However, child replica learn states from its parent on the same replica server and the same disk. As a result, parent replica generate checkpoint instead of sst files, child replica can read private log files directly rather than copy them, and there is no need to serialize mutations any more. Partition split is equivalent to combination of all learn staging (LT_APP, LT_LOG and LT_CACHE). Besides, child will copy parent's prepare_list in
child_copy_states
mutation
mutation_cache
prepare_list
message_ex
Tests
Add unit test for two new functions,
parent_check_states
,parent_prepare_states