-
Notifications
You must be signed in to change notification settings - Fork 94
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
Imporove splay delete #312
Conversation
There were two problems in `deleteNodes`. 1. repeat splay for each node to be deleted resulting in numerous rotations. 2. not actually delete node, zero-weight node left and affect. To improve the deletion, this commit skips splay for nodes in between and isolates in a subtree then cut off the subtree.
Codecov Report
@@ Coverage Diff @@
## main #312 +/- ##
==========================================
- Coverage 87.53% 87.48% -0.05%
==========================================
Files 70 70
Lines 4948 4993 +45
Branches 497 505 +8
==========================================
+ Hits 4331 4368 +37
- Misses 433 441 +8
Partials 184 184
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. 👍
There were some bugs in #312 and #316 after applying range deletion. 1. Deletion does not apply intermittently on remote peers. 2. When typing Korean, intermediate traces remain. 3. Index error when editing the end of the text 4. Randomly occurring runtime errors This commit fixes most of the bugs in #312 and #316. Bug 4 was related to the GC, so the GC was modified a little.
There were some bugs in #312 and #316 after applying range deletion. 1. Deletion does not apply intermittently on remote peers. 2. When typing Korean, intermediate traces remain. 3. Index error when editing the end of the text 4. Randomly occurring runtime errors This commit fixes most of the bugs in #312 and #316. Bug 4 was related to the GC, so the GC was modified a little.
There were two problems in `deleteNodes`. 1. repeat splay for each node to be deleted resulting in numerous rotations. 2. not actually delete node, zero-weight node left and affect. To improve the deletion, this commit skips splay for nodes in between and isolates in a subtree then cut off the subtree.
There were some bugs in yorkie-team#312 and yorkie-team#316 after applying range deletion. 1. Deletion does not apply intermittently on remote peers. 2. When typing Korean, intermediate traces remain. 3. Index error when editing the end of the text 4. Randomly occurring runtime errors This commit fixes most of the bugs in yorkie-team#312 and yorkie-team#316. Bug 4 was related to the GC, so the GC was modified a little.
What this PR does / why we need it?
There were two problems in
deleteNodes
.To improve the deletion, this commit skips splay for nodes in between and
isolates in a subtree then cut off the subtree.
Any background context you want to provide?
What are the relevant tickets?
Fixes #
Checklist