Cómo ejecutar una comprobación de consistencia del almacén de datos a través de oak-run

Descripción


Entorno

  • Adobe Experience Manager 6.4
  • Oak 1.8.8 y versiones posteriores

Problema/Síntomas
La herramienta Oak-run es útil cuando observa un error como este:

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

Resolución

  1. Descargue la versión oak-run jar 1.8.8 o posterior en su servidor AEM.

  2. Ejecute el siguiente comando (pero cambie las rutas del almacén de segmentos y del 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/segmentstore --dump temp --verbose --track

  3. El comando debería emitir una comprobación de consistencia del almacén de datos.

  4. Usando el resultado, siga el artículo para restaurar o reparar cualquier archivo que falte.

El verificador de consistencia para el almacén de datos también puede usarse para listar todas las referencias de blob en el almacén de nodos y todos los ids de blob disponibles en el almacén de datos. Utilice el siguiente comando:

$ java-jar oak-run-*.jar datastorecheck --id --ref --consistency \

--store | \

--s3ds |--fds \

--dump \

--track

Proporcione una o más de estas opciones disponibles:

  • —id: enumera todos los ID del almacén de datos.
  • —ref: enumera todas las referencias de blob en el almacén de nodos.
  • —consistency: enumera todos los blobs que faltan haciendo una comprobación de coherencia.

Las siguientes opciones son opcionales:

  • —store: ruta al almacén de segmentos de mongo uri (requerido para las opciones —ref y —consistency anteriores).
  • —dump: ruta donde se deben volcar los archivos (opcional). En caso contrario, los archivos se vuelcan en el directorio tmp del usuario.
  • —s3ds: ruta al archivo de configuración S3DataStore.
  • —fds: ruta al archivo de configuración FileDataStore (la propiedad "path" es obligatoria).
  • —track: ruta de la carpeta principal del repositorio local (opcional). Coloca una copia de los blob ids descargados para su rastreo.

Páginas similares

Comprobación de Oak DataStore

En esta página