Cold Standby renvoie l’erreur "L’enregistrement DataStoreException n’existe pas"
Cela fonctionne comme prévu et n’indique pas de problème avec l’entrepôt de données de fichiers. Pour confirmer que l’ID d’objet blob n’est pas absent, suivez les étapes de la section Résolution .
Description description
Environnement
Adobe Experience Manager (AEM)
Problème
Cold Standby avec l’entrepôt de données de fichiers dédié lance un avertissement sur l’ID d’objet blob manquant, similaire à l’erreur ici :
*WARN* [ standby-run-1] org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id xxxxxxxxxx
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record xxxxxxxx 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 xxxxxxxx does not exist
at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)
Résolution resolution
Solution
Cela fonctionne comme prévu et n’indique pas de problème avec l’entrepôt de données de fichiers.
Pour confirmer que l’ID d’objet blob n’est pas absent, procédez comme suit :
- Par exemple, prenez votre exemple d’ID d’objet blob qui s’affiche comme manquant dans les journaux (par exemple :
cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20
). - Pour cet ID d’objet blob dans cet exemple, l’adresse du système de fichiers doit être :
ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20
. - Recherchez le système de fichiers sur l’instance de secours et vérifiez si le fichier nommé est présent dans l’entrepôt de données de fichiers.
- Dans
/repository/datastore
, utilisez la commandelist
(par exemple :ls -ald
) :ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20
. - Vous devriez être en mesure de voir le fichier et de confirmer que l’ID d’objet blob n’est pas absent.
Cause
Ce n'est qu'un avertissement, pas une erreur. Cela vient du fait que l’entrepôt de données de fichier n’a aucun moyen de vérifier si un fichier binaire existe localement, sauf en essayant de charger l’ID d’objet blob. Si l’ID est chargé, les journaux n’affichent pas cet avertissement. Cependant, s’il est introuvable, l’instance de secours sait qu’elle doit le synchroniser, c’est pourquoi ce type d’avertissement s’affiche dans les journaux.