Il controllo di coerenza dell'archivio dati segnalerà tutti i file binari dell'archivio dati mancanti ma a cui si fa ancora riferimento. Il controllo di coerenza può essere attivato direttamente da Felix console.
Potrebbe essere attivato da MarkSweepGarbageCollector#checkConsistency
Fagiolo
Se la BlobGC
MBeans sono registrati nel MBeanServer
allora si possono usare anche i seguenti fagioli:
BlobGCMbean#checkConsistency
Al termine del controllo di coerenza, un messaggio mostra il numero di binari segnalati come mancanti. Se il numero è maggiore di 0, controlla i registri configurati per org.apache.jackrabbit.oak.plugins.blob .MarkSweepGarbageCollector
per maggiori dettagli sui binari mancanti.
Di seguito è riportato un esempio di come i file binari mancanti vengono segnalati nei log:
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 di /system/console/repositorycheck
Interfaccia utente oak-run lo strumento controlla i file di indice lucene nascosti in /oak: index
oltre al resto dei percorsi di contenuto. datastorecheck
comando oak-run può essere utilizzato per eseguire un controllo di coerenza sull’archivio dati. I passaggi dettagliati su come eseguire il comando sono descritti di seguito:
Scarica oak-run jar 1.8.8 o versione successiva al server AEM.
Posiziona il oak-run jar nella stessa directory in cui si trova crx-quickstart altrimenti fornire il percorso completo di oak-run-*.jar durante l'esecuzione del comando sottostante.
Esegui il comando seguente (aggiorna i percorsi al segmentstore e al datastore in base 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 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 effettuando una verifica di coerenza.
Le opzioni seguenti sono facoltative:
--store
mongo: percorso dell’archivio segmenti di uri (obbligatorio per le opzioni --ref
e --consistency
di cui sopra).
--dump
: percorso in cui scaricare i file (facoltativo). In caso contrario, i file vengono scaricati nell'utente tmp
directory.
--s3ds
- Percorso del S3DataStore
file di configurazione.
--fds
- Percorso del FileDataStore
file di configurazione (path
(obbligatorio).
--track
: percorso della cartella principale dell’archivio locale (facoltativo). Inserisce una copia degli ID BLOB scaricati da tracciare.