Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Since OAK-102 NodeStore exposes the branch feature. The initial implementation of TreeImpl on top of this eagerly writes all changes down to the NodeStoreBranch by acquiring a new NodeStateBuilder based on the current NodeState for each change. A better implementation would instead use a NodeStateBuilder per TreeImpl to accumulated the changes and only purge them down to the branch when necessary.
Revision 1341123 is an initial implementation of this. Properly reverting changes on refresh and save is still missing. See TODOs in TreeImpl.revert() and TreeImpl.saved().