Marcel Reutegger created OAK-9700:
-------------------------------------

             Summary: RevisionGC may fail with NPE
                 Key: OAK-9700
                 URL: https://issues.apache.org/jira/browse/OAK-9700
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: documentmk
    Affects Versions: 1.42.0, 1.22.0, 1.8.0
            Reporter: Marcel Reutegger
            Assignee: Marcel Reutegger
             Fix For: 1.44.0


In some rare and strange situation RevisionGC may throw a NullPointerException 
when the cache contains a document with an invalid or no id.

The stacktrace looks like the following.
{noformat}
Caused by: java.lang.NullPointerException
        at 
org.apache.jackrabbit.oak.plugins.document.util.Utils.getDepthFromId(Utils.java:414)
        at 
org.apache.jackrabbit.oak.plugins.document.NodeDocumentIdComparator.compare(NodeDocumentIdComparator.java:38)
        at 
org.apache.jackrabbit.oak.plugins.document.NodeDocumentIdComparator.compare(NodeDocumentIdComparator.java:30)
        at java.util.TimSort.binarySort(TimSort.java:296)
        at java.util.TimSort.sort(TimSort.java:221)
        at java.util.Arrays.sort(Arrays.java:1512)
        at java.util.ArrayList.sort(ArrayList.java:1464)
        at java.util.Collections.sort(Collections.java:177)
        at 
org.apache.jackrabbit.oak.commons.sort.StringSort.sort(StringSort.java:98)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector$DeletedDocsGC.ensureSorted(VersionGarbageCollector.java:987)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector$DeletedDocsGC.access$800(VersionGarbageCollector.java:617)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector$GCJob.collectDeletedDocuments(VersionGarbageCollector.java:594)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector$GCJob.gc(VersionGarbageCollector.java:507)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector$GCJob.run(VersionGarbageCollector.java:476)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector.gc(VersionGarbageCollector.java:144)
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to