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

Rebase may be expensive with many siblings

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.52.0
    • documentmk
    • None

    Description

      In some cases DocumentNodeStore.rebase(NodeBuilder) can be expensive when a node is added to a parent that already has many children.

      There are a few other conditions that also need to be met to make the refresh expensive. Steps to reproduce are:

      Create a node structure with many child nodes and save
      Create a sibling to those many nodes, but not yet save
      Make further transient changes until the DocumentNodeStore creates an InMemory branch. A test can also force create this branch.
      Add further changes to the new node
      Rebase the current builder. Now the implementation reads all siblings of the new node, while it should only check if the added node already exists.

      Attachments

        Issue Links

          Activity

            People

              mreutegg Marcel Reutegger
              mreutegg Marcel Reutegger
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: