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

oak-run check crashes with SNFE

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.10.0, 1.8.9
    • Component/s: run, segment-tar
    • Labels:
      None

      Description

      I experienced a crash of oak-run check with a SNFE:

      org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 48973c89-9e61-4757-a93d-384da83ec170 not found
      at org.apache.jackrabbit.oak.segment.file.AbstractFileStore.readSegmentUncached(AbstractFileStore.java:281)
      at org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore$1.call(ReadOnlyFileStore.java:124)
      at org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore$1.call(ReadOnlyFileStore.java:121)
      at org.apache.jackrabbit.oak.segment.SegmentCache$NonEmptyCache.lambda$getSegment$0(SegmentCache.java:163)
      at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4724)
      at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522)
      at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315)
      at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278)
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193)
      at com.google.common.cache.LocalCache.get(LocalCache.java:3932)
      at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4721)
      at org.apache.jackrabbit.oak.segment.SegmentCache$NonEmptyCache.getSegment(SegmentCache.java:160)
      at org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore.readSegment(ReadOnlyFileStore.java:121)
      at org.apache.jackrabbit.oak.segment.SegmentId.getSegment(SegmentId.java:153)
      at org.apache.jackrabbit.oak.segment.Record.getSegment(Record.java:70)
      at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:160)
      at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172)
      at org.apache.jackrabbit.oak.segment.SegmentNodeState.hasChildNode(SegmentNodeState.java:441)
      at org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker$NodeWrapper.deriveTraversableNodeOnPath(ConsistencyChecker.java:498)
      at org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.checkPathAtRoot(ConsistencyChecker.java:383)
      at org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.checkPathsAtRoot(ConsistencyChecker.java:353)
      at org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.checkConsistency(ConsistencyChecker.java:200)
      at org.apache.jackrabbit.oak.segment.tool.Check.run(Check.java:243)
      at org.apache.jackrabbit.oak.run.CheckCommand.execute(CheckCommand.java:88)
      at org.apache.jackrabbit.oak.run.Main.main(Main.java:49)
      

      AFAICS the problem is the check of the path not being resilient against SNFE.

        Attachments

        1. OAK-7837.patch
          1 kB
          Michael Dürig

          Issue Links

            Activity

              People

              • Assignee:
                mduerig Michael Dürig
                Reporter:
                mduerig Michael Dürig
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: