Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-106

Use NodeStateBuilder instances to record changes in TreeImpl

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.3
    • 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.

      Attachments

        Activity

          mduerig Michael Dürig added a comment -

          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().

          mduerig Michael Dürig added a comment - 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() .

          People

            mduerig Michael Dürig
            mduerig Michael Dürig
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: