Le référentiel Oak de AEM est configuré pour utiliser MongoDB et la tâche de maintenance nocturne, le nettoyage de révisions s’effectue en plus de cinq heures.

Cause

Il peut y avoir de nombreuses causes :

  1. Un grand nombre d'écrits dans le référentiel au cours des 24 dernières heures.
  2. Des problèmes de performances de MongoDB.

Résolution

Lorsque la collecte de la mémoire de révision est causée par l’écriture excessive du référentiel Oak, vous pouvez la déboguer en procédant comme suit :

  1. Atteindre http://aem-host:port/system/console/slinglog et connectez-vous en tant qu'administrateur.

  2. Ajoutez un journal.

    • Fichier journal : revisiongc.log
    • Niveau de connexion : Débogage
    • Journaux : org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector
  3. Patientez jusqu'à ce que le prochain ralentissent de nettoyage de la révision se produise.

  4. Exécutez ce script bash par rapport au fichier journal pour obtenir les mises à jour qui ont été nettoyées : cut -d ':' -

    -f2,3 revisiongc.log | grep '/' | cut -f1-7 -d '/' | sed 's|\(/etc/workflow/.*/2015-09-[0-9]*\)[_0-9]*\(/.*\)_[0-9]*|\1\2|' | sed 's|\(/var/replication/data/[a-z0-9\-]*\).*|\1|' | sort | uniq -c | sort -nr | less

    Exemple de sortie (indique combien d’éléments ont été supprimés sous différents tracés) :

    1574323 /oak:index/slingeventEventId/
    140203 /oak:index/slingResourceType/
    130687 /oak:index/nodetype/
    130557 /oak:index/event.job.topic/
    37277 /oak:index/reference/
    35870 /var/replication/data/4e8f3d96-c010-4d2c-bf7b-431b902880d2
    ...

  5. Grâce à ces données, vous pouvez voir si des index trop souvent mis à jour peuvent être supprimés. Vous obtenez ainsi une idée des mises à jour les plus transitoires dans le référentiel.  Avec ces informations, vous pouvez réduire le nombre d'écritures excessives dans Oak.

  6. Si le compteur de révision est lent et que vous ne trouvez pas d’activité d’écriture excessive sur les index Oak ou d’autres emplacements du système, vous pouvez examiner les performances de MongoDB.  Compter les révisions fonctionne toujours par rapport à la réplique MongoDB principal, de sorte que vous pouvez rechercher les temps et les index de requête utilisés dans mongod.log.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne