Falha na tarefa DataStore GarbageCollection com erro
Descubra como superar os erros da tarefa DataStore GarbageCollection removendo a ID do repositório registrado.
Descrição description
Ambiente
Adobe Experience Manager (AEM)
Problema/Sintomas
Falha de DataStoreGarbageCollectionTask com o erro abaixo:
*ERROR* [ sling-oak-observation-19] org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector Not all repositories have marked
references available : [ e0fb2a15-d5d5-4013-9607-0fb89cf87c94]
26.07.2022 20:56:50.737 *ERROR* [ sling-oak-observation-19] org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector Blob garbage collection error
java.io.IOException: Not all repositories have marked references available
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector$GarbageCollectionType$1.mergeAllMarkedReferences(MarkSweepGarbageCollector.java:7
22) [ org.apache.jackrabbit.oak-blob-plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.sweep(MarkSweepGarbageCollector.java:384) [ org.apache.jackrabbit.oak-blob-plugins
:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.markAndSweep(MarkSweepGarbageCollector.java:284) [ org.apache.jackrabbit.oak-blob-
plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.collectGarbage(MarkSweepGarbageCollector.java:191) [ org.apache.jackrabbit.oak-blo
b-plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:87) [ org.apache.jackrabbit.oak-blob-plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:83) [ org.apache.jackrabbit.oak-blob-plugins:1.8.21]
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)
26.07.2022 20:56:51.620 *ERROR* [ pool-20-thread-1] org.apache.jackrabbit.oak.commons.jmx.ManagementOperation Blob garbage collection failed
java.io.IOException: Not all repositories have marked references available
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector$GarbageCollectionType$1.mergeAllMarkedReferences(MarkSweepGarbageCollector.java:7
22) [ org.apache.jackrabbit.oak-blob-plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.sweep(MarkSweepGarbageCollector.java:384) [ org.apache.jackrabbit.oak-blob-plugins
:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.markAndSweep(MarkSweepGarbageCollector.java:284) [ org.apache.jackrabbit.oak-blob-
plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.collectGarbage(MarkSweepGarbageCollector.java:191) [ org.apache.jackrabbit.oak-blo
b-plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:87) [ org.apache.jackrabbit.oak-blob-plugins:1.8.21]
at org.apache.jackrabbit.oak.plugins.blob.BlobGC$1.call(BlobGC.java:83) [ org.apache.jackrabbit.oak-blob-plugins:1.8.21]
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)
26.07.2022 20:56:51.628 *INFO* [ pool-20-thread-1] com.adobe.granite.maintenance.impl.MaintenanceJobsManagerImpl Name='DataStoreGarbageCollectionTask', Status
='ERROR', Result='Data store GC: Operation failed Blob garbage collection failed: Not all repositories have marked references available', Details='{"created"
:1658858205603,"started":1658858205603,"finished":1658858211620,"duration":6017}'
Resolução resolution
Esse problema pode ocorrer se você tiver uma instância anterior usando o armazenamento de dados, que foi destruído e uma nova instância criada para usar o armazenamento de dados.
O problema pode ser resolvido após a remoção da ID do repositório registrada no armazenamento de dados. O GC do armazenamento de blob deve ser concluído com êxito.
Guia passo a passo:
1)Ir para o caminho do armazenamento de dados <
aem-install-folder>
/crx-quickstart/repository/datastore e procure a ID do repositório e0fb2a15-d5d5-4013-9607-0fb89cf87c94 (deve ser a mesma mencionada em error.log ERROR* [
sling-oak-observei-19]
org.apache.jackrabbit.oak.plugins blob.MarkSweepGarbageCollector Nem todos os repositórios foram marcados
referências disponíveis: [
e0fb2a15-d5d5-4013-9607-0fb89cf87c94]
), você terá um arquivo de referência com esse nome, basta excluir esse arquivo de referência (repita essas etapas se houver vários arquivos).
2) Execute o GC novamente e verifique se ele resolve o problema.