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

incomplete diffManyChildren during commitHook evaluation in a persisted branch


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.23, 1.4.12, 1.6.0
    • Fix Version/s: 1.2.24, 1.4.13, 1.7.0, 1.6.1, 1.8.0
    • Component/s: core, documentmk
    • Labels:
    • Environment:

      'easily' reproducible on 1.2.14
      'takes longer to' reproduce on 1.2.23


      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


        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



              • Assignee:
                mreutegg Marcel Reutegger
                egli Stefan Egli
              • Votes:
                0 Vote for this issue
                4 Start watching this issue


                • Created: