You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Why is this needed:
In many WYSIWYG editor, move subtree to another parent node’s child (move) is supported, so Yorkie.Tree also need it.
By using the idea of Martin Kleppmann’s paper, I’m trying to implement move operation in replicated tree.
To sum up briefly, by doing undo-do-redo, we can resolve conflict and prevent cycle of move operation.
I’ll leave detail and implementation method in the link, because it’s too much to write here.
Since we can guarantee commutativity in edit operations, now we can handle concurrent editing cases of tree edit operation.
However, we can’t guarantee commutativity between edit operation and move operation, which I’m gonna implement.
I researched few papers and the conclusion that I made is using operation log(opSet) is the most feasible way to remain current tree and implement move operation.
Using operation log to preserve every operation and if remote operation is given,
undo the operations which are later than given remote operation
do given remote operation
redo operations which are later than given remote operation
By doing these steps, every replica is executing operations in same order and remain consistency
The text was updated successfully, but these errors were encountered:
What would you like to be added:
Add
Tree.move
Why is this needed:
In many WYSIWYG editor, move subtree to another parent node’s child (move) is supported, so Yorkie.Tree also need it.
By using the idea of Martin Kleppmann’s paper, I’m trying to implement move operation in replicated tree.
To sum up briefly, by doing undo-do-redo, we can resolve conflict and prevent cycle of move operation.
I’ll leave detail and implementation method in the link, because it’s too much to write here.
Since we can guarantee commutativity in edit operations, now we can handle concurrent editing cases of tree edit operation.
However, we can’t guarantee commutativity between edit operation and move operation, which I’m gonna implement.
I researched few papers and the conclusion that I made is using operation log(opSet) is the most feasible way to remain current tree and implement move operation.
Using operation log to preserve every operation and if remote operation is given,
By doing these steps, every replica is executing operations in same order and remain consistency
The text was updated successfully, but these errors were encountered: