Échec de la tâche DataStore GarbageCollection avec erreur

Description

DataStoreGarbageCollectionTask échoue avec l’erreur ci-dessous

*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}'

Résolution

Ce problème peut se produire si une instance précédente utilisait la banque de données, qui a été détruite et qu’une nouvelle instance a été créée pour utiliser la banque de données.

Le problème peut être résolu après la suppression de l’ID de référentiel enregistré dans la banque de données. Le contenu du magasin Blob doit alors être terminé avec succès.

Guide détaillé :

  1. Accéder au chemin de la banque de données aem-install-folder/crx-quickstart/repository/datastore et rechercher l’identifiant de référentiel e0fb2a15-d5d5-4013-9607-0fb89cf87c94 (il doit être identique à celui mentionné dans error.log:

    (ERROR sling-oak-observation-19 org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector Not all repositories have marked references available : e0fb2a15-d5d5-4013-9607-0fb89cf87c94)
    

    Vous disposez d’un fichier de référence portant ce nom, supprimez simplement ce fichier de référence (répétez ces étapes s’il existe plusieurs fichiers).

  2. Exécutez à nouveau le GC et vérifiez s’il résout le problème.

Sur cette page