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

Ultimo aggiornamento: 2023-11-18

Scopri come eseguire una verifica di coerenza dell’archivio dati tramite oak-run in AEM 6.4 e Oak.

Descrizione

Ambiente

  • Adobe Experience Manager (AEM) 6.4
  • Oak 1.8.8 e versioni successive

Problema/Sintomi

Lo strumento oak-run è utile quando si osserva un errore simile al seguente:

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 della /system/console/repositorycheck interfaccia utente, lo strumento oak-run controlla i file di indice Lucene nascosti in /oak: oltre al resto dei percorsi di contenuto.  Questo strumento ti consente di ripristinare i file di indice nell’archivio dati o di rigenerare solo gli indici danneggiati, anziché reindicizzarli tutti. Questo è documentato in Utilizzare oak-run.jar per gestire gli indici nei Tutorials della Fondazione 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 restituisce una verifica di coerenza dell’archivio dati.

  4. Utilizza l’output per ripristinare o correggere eventuali file mancanti. Per maggiori dettagli, segui questi Utilizzare oak-run.jar per gestire gli indici nei Tutorials della Fondazione AEM.

Il controllo di coerenza per l’archivio dati 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 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 di cui sopra).
  • —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.

Altri argomenti correlati

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

In questa pagina