AEM 6.2 BlobGarbageCollection - NullPointer Exception

Avatar

Avatar

MircoK_VT

Avatar

MircoK_VT

MircoK_VT

10-09-2019

Hi!

I am using AEM 6.2 with a datastore on external filesystem. Running the BlobStoreGarbageCollection (markOnly=false) via JMX console I get following error:

10.09.2019 08:51:21.882 *ERROR* [sling-oak-observation-334] org.apache.jackrabbi

t.oak.plugins.blob.MarkSweepGarbageCollector Blob garbage collection error

java.lang.NullPointerException: null

        at org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore$4.a

pply(OakFileDataStore.java:241)

        at org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore$4.a

pply(OakFileDataStore.java:238)

        at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)

        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractI

terator.java:143)

        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.j

ava:138)

        at com.google.common.collect.TransformedIterator.hasNext(TransformedIter

ator.java:43)

        at com.google.common.collect.Iterators$7.computeNext(Iterators.java:645)

        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractI

terator.java:143)

        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.j

ava:138)

        at com.google.common.collect.TransformedIterator.hasNext(TransformedIter

ator.java:43)

        at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector$Blob

IdRetriever.call(MarkSweepGarbageCollector.java:626)

        at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.swee

p(MarkSweepGarbageCollector.java:378)

        at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.mark

AndSweep(MarkSweepGarbageCollector.java:251)

        at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.coll

ectGarbage(MarkSweepGarbageCollector.java:164)

        at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:87)

        at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:83)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.

java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor

.java:624)

        at java.lang.Thread.run(Thread.java:748)

Mark phase (markOnly=true) seems to be ok:

[...]

10.09.2019 08:51:21.789 *INFO* [sling-oak-observation-334] org.apache.jackrabbit

.oak.plugins.blob.MarkSweepGarbageCollector Collected (40960) blob references

10.09.2019 08:51:21.793 *INFO* [sling-oak-observation-334] org.apache.jackrabbit

.oak.plugins.blob.MarkSweepGarbageCollector Collected (43008) blob references

10.09.2019 08:51:21.795 *INFO* [sling-oak-observation-334] org.apache.jackrabbit

.oak.plugins.blob.MarkSweepGarbageCollector Number of valid blob references mark

ed under mark phase of Blob garbage collection [43530]

Has anyone faced the same issue or can perhaps give me a hint how to solve this issue?

Thank you in advance

Mirco

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

jbrar

Employee

Avatar

jbrar

Employee

jbrar
Employee

10-09-2019

This issue has been reported (internal reference is: CQ-103742) and is also visible in the public Oak project, under this reference OAK-5078 [0].

This issue has been fixed in Oak 1.4.10, So, you can upgrade the oak version to 1.4.10 at least from [1] to resolve the issue.

There is however a work-around, which consist to configure the path to the datastore as an absolute path in the file datastore configuration:

path=../datastore  <- TO BE FIXED AS ABSOLUT

minRecordLength=4096

[0] https://issues.apache.org/jira/browse/OAK-5078

[1] Adobe Experience Manager Help | Release Notes: AEM 6.2 Oak Cumulative Fix Pack

Answers (1)

Answers (1)

Avatar

Avatar

MircoK_VT

Avatar

MircoK_VT

MircoK_VT

10-09-2019

Thank you very much. Workaround solved the issue. I will try to update Oak as soon as possible.