Exécution de la vérification de cohérence de la banque de données via oak-run

Découvrez comment exécuter une vérification de cohérence de banque 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 de  /system/console/repositorycheck, l’outil oak-run vérifie les fichiers d’index Lucene masqués sous l’index /oak: en plus du reste des chemins d’accès au contenu.  Cet outil vous permet de restaurer les fichiers d’index dans la banque de données ou de reconstruire uniquement les index corrompus au lieu de les réindexer tous. Ceci est documenté dans la section Utilisation de oak-run.jar pour gérer les index dans les Tutorials Foundation AEM.

Résolution resolution

  1. Téléchargez oak-run jar 1.8.8 ou une version ultérieure sur votre serveur AEM.

  2. 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

  3. La commande génère une vérification de cohérence de banque de données.

  4. Utilisez la sortie pour restaurer ou corriger les fichiers manquants. Pour plus d’informations, reportez-vous à la section Utilisation de oak-run.jar pour gérer les index dans AEM Foundation Tutorials.

Le vérificateur de cohérence de l’entrepôt de données peut également répertorier toutes les références d’objets Blob dans l’entrepôt de noeuds et tous les identifiants d’objets Blob disponibles dans l’entrepôt 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 de l’entrepôt de données.
  • —ref : répertorie toutes les références d’objets Blob dans le magasin de noeuds.
  • —consistency : Liste tous les objets Blob manquants en effectuant une vérification de cohérence.

Les options suivantes sont facultatives :

  • —store - Chemin d’accès au magasin de segments de mongo uri (requis 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 du 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

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f