Esegui il controllo di coerenza del datastore tramite oak-run

Descrizione

Ambiente

  • Adobe Experience Manager 6.4
  • Oak 1.8.8 e versioni successive

Problema/Sintomi
Lo strumento oak-run è utile quando si osserva un errore come questo:

09.11.2017 13:42:17.512 *WARN* async-index-update-async org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id «record ID»

java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist

Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist

A differenza di /system/console/repositorycheck Interfaccia utente, lo strumento oak-run controlla i file di indice Lucene nascosti sotto /oak: oltre al resto dei percorsi di contenuto.  Questo strumento ti dà la possibilità di ripristinare i file di indice nel datastore o solo ricostruire gli indici che sono corrotti invece di reindicizzarli tutti. Questo è documentato in Utilizza oak-run.jar per gestire gli indici in Tutorials Foundation AEM.

Risoluzione

  1. Scarica il file jar oak-run versione 1.8.8 o successive sul server AEM.

  2. Esegui il comando seguente (sostituendo i percorsi dell’archivio segmenti e dell’archivio dati in modo che corrispondano al tuo ambiente):

    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

  3. Il comando genera un controllo di coerenza del datastore.

  4. Utilizzare l'output per ripristinare o correggere eventuali file mancanti. Per ulteriori dettagli, seguire Utilizza oak-run.jar per gestire gli indici in Tutorials Foundation AEM.

Il controllo di coerenza per il DataStore può anche 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ù delle 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 effettuando un controllo di coerenza.

Le opzioni seguenti sono facoltative:

  • —store - Percorso all'archivio dei segmenti di mongo uri (richiesto per le opzioni —ref e —consistency di cui sopra).
  • —dump - Percorso in cui 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 cartella home dell'archivio locale (facoltativo). Inserisce una copia degli ID BLOB scaricati da tracciare.

Altri argomenti correlati

Oak DataStore Check (Verificare l’archivio dati di Oak)

In questa pagina