Eseguire la verifica di coerenza dell’archivio dati tramite oak-run
Scopri come eseguire una verifica di coerenza dell’archivio dati tramite oak-run in AEM 6.4 e Oak.
Descrizione description
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 dell'interfaccia utente /system/console/repositorycheck
, lo strumento oak-run controlla i file di indice Lucene nascosti nell'indice /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 di AEM Foundation.
Risoluzione resolution
-
Scarica il file jar oak-run versione 1.8.8 o successive sul server AEM.
-
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
-
Il comando restituisce una verifica di coerenza dell’archivio dati.
-
Utilizza l’output per ripristinare o correggere eventuali file mancanti. Per informazioni dettagliate, segui Utilizzare oak-run.jar per gestire gli indici nei Tutorials di AEM Foundation.
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)