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

oak-run check crashes with SNFE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.10.0, 1.8.9
    • run, segment-tar
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: