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

DiffCache is inefficient

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0
    • Fix Version/s: 1.0.13, 1.1.8
    • Component/s: core, mongomk
    • Labels:
      None

      Description

      The diffCache in DocumentNodeStore can be quite inefficient in some cases. It may become ineffective even for rather recent commits.

      The diffCache contains entries for changes of a commit. E.g. it may have an entry that says between revision r7-0-1 and r8-0-1 the following happened under /foo: 'bar' was modified, 'baz' was added, etc. The problem now is, that the revision range in the diffCache refers to the revision of the commit and its base version, whereas on runtime, the diff calls may likely happen for other revision ranges. The further down the tree the node state comparison happens, the more likely it is that the base state has a different revision than the entry in the cache. The DocumentNodeStore attempts to 'link' node states back in time to avoid reading the complete tree at a different revision after each commit.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: