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 "Amit Jain (JIRA)" <ji...@apache.org> on 2014/05/20 14:32:39 UTC

[jira] [Comment Edited] (OAK-1817) NPE in MarkSweepGarbageCollector.saveBatchToFile during Datastore GC with FileDataStore

    [ https://issues.apache.org/jira/browse/OAK-1817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14003154#comment-14003154 ] 

Amit Jain edited comment on OAK-1817 at 5/20/14 12:31 PM:
----------------------------------------------------------

Patch attached to fix the issue.

This is a problem because for inlined blobs the call {{SegmentBlob#getBlobId}} returns null.


was (Author: amitjain):
Patch attached to fix the issue.

This is a problem because for inlined blobs the call {{SegmentBlob#getBlobId}} return null.

> NPE in MarkSweepGarbageCollector.saveBatchToFile during Datastore GC with FileDataStore
> ---------------------------------------------------------------------------------------
>
>                 Key: OAK-1817
>                 URL: https://issues.apache.org/jira/browse/OAK-1817
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: blob
>    Affects Versions: 0.20
>            Reporter: Konrad Windszus
>            Assignee: Chetan Mehrotra
>         Attachments: NodeAndDataStoreOsgiConfig.zip, OAK-1817.patch
>
>
> During running a datastore garbage collection on a Jackrabbit 2 FileDataStore (org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore, see http://jackrabbit.apache.org/oak/docs/osgi_config.html) an NPE is thrown
> {code}
> 13.05.2014 17:50:16.944 *ERROR* [qtp1416657193-147] org.apache.jackrabbit.oak.management.ManagementOperation Blob garbage collection failed
> java.lang.RuntimeException: Error in retrieving references
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector$1.addReference(MarkSweepGarbageCollector.java:395)
> 	at org.apache.jackrabbit.oak.plugins.segment.Segment.collectBlobReferences(Segment.java:248)
> 	at org.apache.jackrabbit.oak.plugins.segment.SegmentTracker.collectBlobReferences(SegmentTracker.java:178)
> 	at org.apache.jackrabbit.oak.plugins.segment.SegmentBlobReferenceRetriever.collectReferences(SegmentBlobReferenceRetriever.java:38)
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.iterateNodeTree(MarkSweepGarbageCollector.java:361)
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.mark(MarkSweepGarbageCollector.java:201)
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.markAndSweep(MarkSweepGarbageCollector.java:173)
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.collectGarbage(MarkSweepGarbageCollector.java:149)
> 	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService$2.collectGarbage(SegmentNodeStoreService.java:185)
> 	at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:68)
> 	at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:64)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException: null
> 	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:192)
> 	at com.google.common.base.Joiner.toString(Joiner.java:436)
> 	at com.google.common.base.Joiner.appendTo(Joiner.java:108)
> 	at com.google.common.base.Joiner.appendTo(Joiner.java:152)
> 	at com.google.common.base.Joiner.join(Joiner.java:193)
> 	at com.google.common.base.Joiner.join(Joiner.java:183)
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.saveBatchToFile(MarkSweepGarbageCollector.java:317)
> 	at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector$1.addReference(MarkSweepGarbageCollector.java:391)
> 	... 14 common frames omitted
> {code}
> Attached you find the OSGi config for both the nodestore and the datastore.



--
This message was sent by Atlassian JIRA
(v6.2#6252)