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 "Marcel Reutegger (Jira)" <ji...@apache.org> on 2022/02/22 14:28:00 UTC

[jira] [Created] (OAK-9700) RevisionGC may fail with NPE

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)