You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Andrei Dulceanu (JIRA)" <ji...@apache.org> on 2018/12/10 08:25:00 UTC

[jira] [Created] (OAK-7950) oak-run check crashes with UncheckedExecutionException (caused by SNFE)

Andrei Dulceanu created OAK-7950:
------------------------------------

             Summary: oak-run check crashes with UncheckedExecutionException (caused by SNFE)
                 Key: OAK-7950
                 URL: https://issues.apache.org/jira/browse/OAK-7950
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: run, segment-tar
    Affects Versions: 1.9.12, 1.8.9
            Reporter: Andrei Dulceanu
            Assignee: Andrei Dulceanu
             Fix For: 1.10, 1.8.10


There was a crash for {{oak-run check}} which ended with a {{UncheckedExecutionException}} (caused under the hood by an SNFE):

{noformat}
Checking checkpoint 8c9bfd14-3e96-49c3-805f-c7cc8e85fc26
com.google.common.util.concurrent.UncheckedExecutionException: org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment c909911f-0456-4b1d-a44f-7e72f28e6214 not found
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
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.getSegment(SegmentCache.java:113)
at org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore.readSegment(ReadOnlyFileStore.java:114)
at org.apache.jackrabbit.oak.segment.SegmentId.getSegment(SegmentId.java:154)
at org.apache.jackrabbit.oak.segment.Record.getSegment(Record.java:70)
at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:161)
at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:173)
at org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:423)
at org.apache.jackrabbit.oak.segment.SegmentNodeStore.retrieve(SegmentNodeStore.java:289)
at org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.checkConsistency(ConsistencyChecker.java:216)
at org.apache.jackrabbit.oak.segment.tool.Check.run(Check.java:243)
at org.apache.jackrabbit.oak.run.CheckCommand.execute(CheckCommand.java:95)
at org.apache.jackrabbit.oak.run.Main.main(Main.java:49)
Caused by: org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment c909911f-0456-4b1d-a44f-7e72f28e6214 not found
at org.apache.jackrabbit.oak.segment.file.AbstractFileStore.readSegmentUncached(AbstractFileStore.java:276)
at org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore$1.call(ReadOnlyFileStore.java:117)
at org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore$1.call(ReadOnlyFileStore.java:114)
at org.apache.jackrabbit.oak.segment.SegmentCache.lambda$getSegment$0(SegmentCache.java:116)
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)
... 14 more
{noformat}

Since this comes from the cache and is wrapped in a {{UncheckedExecutionException}}, the catch block in {{ConsistencyChecker}} introduced in OAK-7837, fails to deal with it, causing erroneous termination of the check.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)