Problema

La herramienta Oak-run es útil en los casos en los que se observa un error como el que se muestra a continuación:

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 diferencia de la interfaz de usuario /system/console/repositorycheck, la herramienta Oak-run comprueba los archivos de índice Lucene ocultos en /oak: índice, además de en el resto de las rutas de contenido.  Esta herramienta le da la opción de restaurar los archivos de índice al almacén de datos o solo reconstruir los índices corruptos, en lugar de reindexar todos ellos como se documenta aquí.

Entorno

AEM 6.3/Oak 1.6.6 y versiones posteriores

Pasos

  1. Ejecute el siguiente comando (pero cambie las rutas al almacén de segmentos y al almacén de datos para que coincidan con su entorno):

    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. El comando generará una comprobación de coherencia del almacén de datos.

  3. Usando el resultado, siga el artículo para restaurar o corregir los archivos que faltan.

Aquí se muestra la documentación para la herramienta:

Verificador de coherencia para el almacén de datos. También se puede utilizar para enumerar todas las referencias Blob en el almacén de nodos y todos los identificadores de Blob disponibles en el almacén de datos. Para ello, utilice el siguiente comando:

$ java-jar oak-run-*.jar datastorecheck [--id] [--ref] [--consistency] \
[--store |] \
[--s3ds |--fds] \
[--dump] \
[--track]
Las siguientes opciones están disponibles:

--id: enumera todos los identificadores en el almacén de datos
--ref: enumera todas las referencias Blob en el almacén de nodos
--consistency: enumera todos los Blobs que faltan haciendo una comprobación de coherencia
Se debe especificar al menos una de las anteriores.

--store: ruta al almacén de segmentos de mongo URI (necesario para las opciones --ref y --consistency mencionadas anteriormente)
--dump: ruta en la que se vuelcan los archivos (opcional). De lo contrario, los archivos se descargan en el directorio TMP de usuario.
--s3ds: ruta al archivo de configuración S3DataStore
--fds: ruta al archivo de configuración FileDataStore (la propiedad ruta es obligatoria)
--track: ruta a la carpeta principal del repositorio local (opcional). Coloca una copia de los identificadores Blob descargados para hacerles un seguimiento.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea