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

incomplete diffManyChildren during commitHook evaluation in a persisted branch

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.23, 1.4.12, 1.6.0
    • 1.2.24, 1.4.13, 1.7.0, 1.6.1, 1.8.0
    • core, documentmk
    • None
    • 'easily' reproducible on 1.2.14
      'takes longer to' reproduce on 1.2.23

    Description

      The following issue can cause inconsistencies in query indices and permission store, in case the DocumentStore is used, in combination with a large commit and many children:

      In oak 1.2 when doing a diffManyChildren as part of running the CommitHooks as part of a branch commit, not all child paths are taken into account in some cases.

      The problem seems to be related to the _modified calculation when doing the query for affected child paths. It seems that minValue is not correctly calculated when doing compareAgainstBaseState as part of a persisted branch.

      Note that the problem can be reproduced very good on 1.2.14, less good but still on the latest 1.2 and not in trunk (ie almost 1.6.0).

      Attaching a test case to reproduce

      Attachments

        1. OAK-5557.patch
          2 kB
          Marcel Reutegger
        2. OAK-5557-1.2.patch
          2 kB
          Marcel Reutegger
        3. DocumentNodeStoreBranchesTest.java
          10 kB
          Stefan Egli
        4. DocumentNodeStoreBranchesTest.java
          7 kB
          Stefan Egli

        Issue Links

          Activity

            People

              mreutegg Marcel Reutegger
              stefanegli Stefan Egli
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: