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

Composite Node Store + Counter Index: allow indexing from scratch / reindex

    XMLWordPrintableJSON

Details

    Description

      When using the composite node store with a read-only portion of the repository, the counter index does not allow to index from scratch / reindex.

      Index from scratch is needed in case the async checkpoint is lost. Reindex is started by setting the "reindex" flag to true.

      Currently the failure is:

      05.09.2019 09:29:21.892 *WARN* [async-index-update-async] org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate [async] The index update is still failing
      java.lang.UnsupportedOperationException: This builder is read-only.
      	at org.apache.jackrabbit.oak.spi.state.ReadOnlyBuilder.unsupported(ReadOnlyBuilder.java:44) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.spi.state.ReadOnlyBuilder.child(ReadOnlyBuilder.java:189) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.spi.state.ReadOnlyBuilder.child(ReadOnlyBuilder.java:34) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.getBuilder(NodeCounterEditor.java:184) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.leaveNew(NodeCounterEditor.java:162) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditor.leave(NodeCounterEditor.java:114) [org.apache.jackrabbit.oak-core:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.spi.commit.CompositeEditor.leave(CompositeEditor.java:73) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.spi.commit.VisibleEditor.leave(VisibleEditor.java:59) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeAdded(EditorDiff.java:129) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160) [org.apache.jackrabbit.oak-store-spi:1.16.0.R1866113]
      	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:504) [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1866113]
      
      

      Attachments

        1. OAK-8603_2.patch
          8 kB
          Fabrizio Fortino
        2. OAK-8603_3_fix.patch
          3 kB
          Vikas Saurabh
        3. OAK-8603_3_refactor.patch
          7 kB
          Vikas Saurabh
        4. OAK-8603.patch
          8 kB
          Thomas Mueller

        Issue Links

          Activity

            People

              catholicon Vikas Saurabh
              thomasm Thomas Mueller
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: