El modo en espera pasiva genera el error "DataStoreException Record does not exist"

Última actualización: 2022-11-16

Descripción

Entorno
Adobe Experience Manager

Problema
El modo en espera pasiva con el almacén de datos dedicado del archivo genera una advertencia en el identificador de blob que falta similar al error que se muestra a continuación:

*WARN* standby-run-1 org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id f68a92b34779bbd194184251ec916370f3ebd301d6e32a8980aad070d57a1845#25522

java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record f68a92b34779bbd194184251ec916370f3ebd301d6e32a8980aad070d57a1845 does not exist

    at org.apache.jackrabbit.oak.cache.CacheLIRS$Segment.load(CacheLIRS.java:1017) org.apache.jackrabbit.oak-core-spi:1.10.3

...

Caused by: org.apache.jackrabbit.core.data.DataStoreException: Record cabdc49c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20 does not exist

    at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)

Causa
Esto es solo una advertencia, no un error.

Se debe a que el almacén de datos del archivo no tiene forma de verificar si existe un binario localmente, excepto al intentar cargar el identificador del blob.
Si se carga el id, los registros no muestran esta advertencia.
Sin embargo, si no se encuentra, el modo de espera sabe que debe sincronizarlo, por lo que puede ver este tipo de advertencia en los registros.

Resolución

Solución
Esto funciona como está diseñado y no indica un problema con el almacén de datos de archivos.

Para confirmar que el id. de blob no falta, siga estos pasos:

  1. Por ejemplo, tome el ejemplo de ID de blob que se muestra como ausente en los registros (por ejemplo: cabdc49c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20).
  2. Para este blob id en este ejemplo, la dirección del sistema de archivos debe ser: ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  3. Busque el sistema de archivos en la instancia de espera y compruebe si el archivo con nombre está presente en el almacén de datos de archivos.
  4. Within /repository/datastore, use el list (Por ejemplo: ls -ald): ls -ald ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  5. Debería poder ver el archivo y confirmar que no falta el id. del blob.

En esta página