Résolution de l’exception SegmentNotFoundException lors de la synchronisation des workflows dans AEM Forms 6.5

Cet article explique comment résoudre les échecs de synchronisation des workflows et les erreurs de SegmentNotFoundException qui peuvent se produire dans Adobe Experience Manager (AEM) Forms 6.5 après une maintenance planifiée, en particulier lorsque la compression complète du référentiel chevauche des opérations d’écriture lourdes.

Description description

Environnement

Adobe Experience Manager (AEM) Forms 6.5 (OSGi, autonome)

Problème/Symptômes

  • La synchronisation du workflow échoue ou est manquante après la maintenance planifiée.
  • Les envois de formulaires et les workflows ne peuvent pas continuer pendant la période concernée.
  • Le problème est résolu automatiquement après un certain temps.
  • L’erreur suivante s’affiche dans les journaux pour les tâches de workflow affectées : org.apache.jackrabbit.oak.segment.SegmentNotFoundException
  • Le problème est spécifique aux jours d’exécution d’une compression complète, et non lors d’opérations de maintenance plus légères.

Cause

Ce problème se produit, car le processus de compression complète récupère les fichiers TAR d’ancienne génération qui sont toujours référencés par les tâches de workflow actives. Si des opérations d’écriture importantes (telles qu’une synchronisation LDAP complète) chevauchent la compression complète, les segments requis par les workflows en cours sont supprimés, ce qui entraîne des erreurs de SegmentNotFoundException.

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Validez la procédure dans un environnement inférieur (hors production) pour comprendre les commandes, la sortie attendue et le processus global.

  2. Avant d’apporter des modifications à l’exploitation, effectuez une sauvegarde ou un instantané complet et cohérent du référentiel.

  3. Effectuez une vérification de cohérence du référentiel à l’aide de l’outil oak-run :

    1. Assurez-vous que l’instance AEM est hors ligne avant d’exécuter des opérations au niveau du référentiel.

    2. Exécutez la commande suivante (remplacez <path-to-oak-run.jar> et <path-to-repository> par vos chemins d’accès réels) :

      java -jar <path-to-oak-run.jar> check <path-to-repository>

    3. Exécutez l’analyse par rapport à une copie de sauvegarde du référentiel de production si possible afin de réduire le temps d’arrêt.

  4. Examinez et ajustez la planification des tâches de synchronisation LDAP et de compression complète pour éviter les chevauchements, en particulier lors d’opérations à écriture élevée. Pensez à exécuter la compression complète à un autre moment ou à vous assurer qu’aucune opération d’écriture lourde ne se produit pendant la compression.

  5. Après l’implémentation des modifications, surveillez l’exécution des workflows et consignez les erreurs SegmentNotFoundException récurrentes :

  6. Vérifiez le fichier error.log d’AEM et les journaux de workflow pour le modèle de SegmentNotFoundException.

  7. Si les problèmes persistent, répétez la vérification de cohérence et passez en revue la planification des tâches pour d’autres ajustements.

recommendation-more-help
experience-cloud-kcs-help-kbarticles