Problema

Lo strumento oak-run è utile nei casi in cui si osservi un errore come quello sottostante:

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 4089b47c7ba7ab8015859428e7e6965eec4641e3#241
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record 4089b47c7ba7ab8015859428e7e6965eec4641e3 does not exist
Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record 4089b47c7ba7ab8015859428e7e6965eec4641e3 does not exist

A differenza dell'interfaccia utente /system/console/repositorycheck, lo strumento oak-run controlla i file di indice lucene nascosti sotto /oak: index oltre al resto dei percorsi del contenuto.  Questo strumento offre la possibilità di ripristinare i file di indice nel datastore o di ricostruire solo gli indici che sono corrotti invece di reindicizzarli tutti come documentato qui.

Ambiente

AEM 6.3 / Oak 1.6.6 e versioni successive

Passaggi

  1. Esegui il comando sottostante (ma scambia i percorsi del segmenstore e del datastore per adattarli 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/datastore --dump temp --verbose --track

  2. Il comando produce un controllo di coerenza del datastore.

  3. Utilizzando l'output, segui questo articolo per ripristinare o correggere eventuali file mancanti.

Ecco la documentazione per lo strumento:

Controllo di coerenza per il DataStore. Può anche essere usato per elencare tutti i riferimenti blob nell'archivio dei nodi e tutti gli ids blob disponibili nell'archivio dati. Usa le seguenti linee guida:

$ java-jar oak-run-*.jar datastorecheck [--id] [--ref] [--ref] [--consistency] \
[--store |] \
[--s3ds |--fds] \
[--dump] \
[--track]
Le seguenti opzioni sono disponibili:

--id - Elenca tutti gli ids nell'archivio dei dati
--ref - Elenca tutti i riferimenti blob nell'archivio dei nodi
--coerenza - Elenca tutti i blob mancanti facendo un controllo di coerenza
Almeno uno dei suddetti dovrebbe essere specificato

--archivio - Percorso all'archivio dei segmenti di mongo uri (richiesto per l'opzione --ref & --consistency option above)
--dump - Percorso dove scaricare i file (opzionale). Altrimenti, 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 iniziale di archivio (opzionale). Mette una copia dei blob ids scaricati per essere rintracciati.

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online