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

Incorrect operand in incremental FFS can lead to failure during merge step

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.60.0
    • oak-run
    • None

    Description

      There could be a case where a node was moved/renamed which apparently results the incremental FFS to have 2 entries.

       

      For example, 

      NodeA | {"prop":"value"} 

      renamed to NodeB | {"prop":"value"}

       

      then the incremental FFS has entries - 

      NodeA | {"prop":"value"}  | D

      NodeB | {"prop":"value"} | M

       

      The second entry's operand should be A and not M. 

      The above analysis is an assumption from some observations during some tests on a large repository.

      A more detailed test case needs to be written to investigate this further.

       

      But the impact of this is that merge for this inc store fails here https://jira.corp.adobe.com/browse/GRANITE-48075#:~:text=https%3A//github.com/apache/jackrabbit%2Doak/blob/trunk/oak%2Drun%2Dcommons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/incrementalstore/MergeIncrementalFlatFileStore.java%23L118

       

      A simple solution could be to treat modification same as addition.

      Attachments

        Issue Links

          Activity

            People

              ngupta Nitin Gupta
              ngupta Nitin Gupta
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: