Eseguire una verifica di coerenza dell’archivio dati tramite oak-run

Scopri come eseguire una verifica di coerenza dell’archivio dati tramite oak-run in Adobe Experience Manager.

Descrizione description

Ambiente

Adobe Experience Manager (AEM)

Problema

La verifica di coerenza dell’archivio dati segnala eventuali dati binari mancanti ma a cui si fa ancora riferimento. La verifica di coerenza può essere attivata direttamente dalla console Felix.

Potrebbe essere attivato da MarkSweepGarbageCollector#checkConsistency Mbean.

Se il BlobGC MBeans sono registrati in MBeanServer quindi quanto segue mbean può essere utilizzato anche:

BlobGCMbean#checkConsistency

Al termine della verifica di coerenza, un messaggio mostra il numero di dati binari segnalati come mancanti. Se il numero è maggiore di 0(zero), controlla i registri configurati per org.apache.jackrabbit.oak.plugins.blob .MarkSweepGarbageCollector per ulteriori dettagli sui file binari mancanti.

Di seguito è riportato un esempio di come i file binari mancanti vengono segnalati nei registri:

11:32:39.673 INFO [ main]  MarkSweepGarbageCollector.java:600 Consistency check found 1 missing blobs 11:32:39.673 WARN [ main]  MarkSweepGarbageCollector.java:602 Consistency check failure in the the blob store : DataStore backed BlobStore [ org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore] , check missing candidates in file /tmp/gcworkdir-1467352959243/gccand-1467352959243

A differenza della /system/console/repositorycheck interfaccia utente, lo strumento oak-run controlla i file di indice Lucene nascosti in /oak: index oltre al resto dei percorsi di contenuto. datastorecheck comando di oak-run può essere utilizzato per eseguire una verifica di coerenza sull’archivio dati.  Di seguito sono riportati i passaggi dettagliati per l’esecuzione del comando:

Risoluzione resolution

  1. Scarica la versione oak-run jar 1.8.8 o successiva sul server AEM.

  2. Posiziona il file jar di oak run nella stessa directory in cui crx-quickstart è posizionato altrimenti fornire il percorso completo di oak-run-*.jar durante l'esecuzione del comando.

  3. Esegui il comando seguente (aggiorna i percorsi di segmentstore e datastore in base all’ambiente in uso):

    code language-none
    java -jar oak-run-*.jar datastorecheck --consistency --ref --id --fds crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config --repoHome crx-quickstart/repository --store crx-quickstart/repository/segmentstore --dump temp --verbose --track
    
  4. Il comando genera una verifica di coerenza dell’archivio dati.

Lo strumento di verifica della coerenza per l’archivio dati può anche essere utilizzato per elencare tutti i riferimenti BLOB nell’archivio nodi e tutti gli ID BLOB disponibili nell’archivio dati. Utilizza il comando seguente:

$ java-jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \

[ --store |] \

[ --s3ds |--fds] \

[ --dump] \

[ --track]

Fornisci una o più tra le seguenti opzioni disponibili:

—id - Elenca tutti gli ID nell'archivio dati.

—ref - Elenca tutti i riferimenti blob nell'archivio nodi.

—consistency - Elenca tutti i blob mancanti facendo un controllo di coerenza.

Le opzioni seguenti sono facoltative:

—store - Percorso all'archivio segmenti di mongo uri (richiesto per le opzioni —ref e —consistency precedenti).

—dump - Percorso dove scaricare i file (facoltativo). In caso contrario, i file vengono scaricati nella directory tmp dell’utente.

—s3ds - Percorso del file di configurazione S3DataStore.

—fds - Percorso del file di configurazione FileDataStore (la proprietà "path" è obbligatoria).

—track - Percorso della home directory dell'archivio locale (facoltativo). Inserisce una copia degli ID BLOB scaricati da tracciare.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f