Exécutez la vérification de cohérence du magasin de données via oak-run.
Découvrez comment exécuter une vérification de cohérence de magasin de données via oak-run dans AEM 6.4 et Oak.
Description description
Environnement
- Adobe Experience Manager (AEM) 6.4
- Oak 1.8.8 et versions ultérieures
Problème/Symptômes
L’outil oak-run est utile lorsque vous constatez une erreur comme celle-ci :
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 «record ID»
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
Contrairement à l’interface utilisateur /system/console/repositorycheck, l’outil oak-run vérifie les fichiers d’index Lucene masqués sous /oak:’index en plus du reste des chemins d’accès au contenu. Cet outil vous offre la possibilité de restaurer les fichiers d’index dans le magasin de données ou de reconstruire uniquement les index corrompus au lieu de les réindexer tous. Cela est documenté dans Utilisation du fichier oak-run.jar pour gérer les index dans les tutoriels AEM Foundation.
Résolution resolution
-
Téléchargez oak-run jar 1.8.8 ou une version ultérieure sur votre serveur AEM.
-
Exécutez la commande ci-dessous (mais remplacez les chemins d’accès au magasin de segments et de données pour qu’ils correspondent à votre environnement) :
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 -
La commande génère une vérification de cohérence du magasin de données.
-
Utilisez la sortie pour restaurer ou corriger les fichiers manquants. Pour plus d’informations, consultez Utilisation du fichier oak-run.jar pour gérer les index dans les tutoriels AEM Foundation.
Le vérificateur de cohérence du magasin de données peut également répertorier toutes les références d’objets Blob dans le magasin de nœuds et tous les identifiants d’objets Blob disponibles dans le magasin de données. Utilisez la commande suivante :
$ java -jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \
[ --store |] \
[ --s3ds |--fds] \
[ --dump] \
[ --track]
Fournissez une ou plusieurs des options suivantes :
- —id : répertorie tous les identifiants du magasin de données.
- —ref : répertorie toutes les références d’objets Blob dans le magasin de nœuds.
- —consistency : répertorie tous les objets Blob manquants en vérifiant l’homogénéité.
Les options suivantes sont facultatives :
- —store : chemin d’accès au magasin de segments de l’URI mongo (obligatoire pour les options —ref et —consistency ci-dessus).
- —dump : chemin d’accès où vider les fichiers (facultatif). Dans le cas contraire, les fichiers sont vidés dans le répertoire tmp de l’utilisateur.
- —s3ds - Chemin d’accès au fichier de configuration S3DataStore.
- —fds - Chemin d’accès au fichier de configuration FileDataStore (la propriété ’path’ est obligatoire).
- —track - Chemin d’accès au dossier d’accueil du référentiel local (facultatif). Cela place une copie des identifiants d’objets blob téléchargés à suivre.
Autres informations similaires
Vérification du magasin de données Oak