[
https://issues.apache.org/jira/browse/OAK-9700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Reutegger resolved OAK-9700.
-----------------------------------
Resolution: Fixed
PR merged. Thanks for the review and suggestions.
> 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.8.0, 1.22.0, 1.42.0
> Reporter: Marcel Reutegger
> Assignee: Marcel Reutegger
> Priority: Minor
> 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)