Problème

Une fois la migration vers une version plus récente de AEM, l’erreur ci-dessous est prioritaire :

18.08.2017 13:03:36.620 ERROR [10.1.40.68 [1503075812864] GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json HTTP/1.1] com.adobe.granite.workflow.core.model.WorkflowModelCacheImpl cannot load model. id: /etc/workflow/models/dam/update_asset/jcr:content/model vid: 1.0
com.adobe.granite.workflow.WorkflowException: Cannot read workflow model from node: /etc/workflow/models/dam/update_asset/jcr:content/model
at com.adobe.granite.workflow.core.jcr.WorkflowModelManager.getWorkflowModelFromRepo(WorkflowModelManager.java:179)
at com.adobe.granite.workflow.core.model.WorkflowModelCacheImpl.getModel(WorkflowModelCacheImpl.java:162)
at com.adobe.granite.workflow.core.jcr.WorkflowModelManager.getWorkflowModel(WorkflowModelManager.java:91)
at com.adobe.granite.workflow.core.WorkflowSessionImpl.getCachedModel(WorkflowSessionImpl.java:448)
at com.adobe.granite.workflow.core.util.NodeReader.createWorkflow(NodeReader.java:249)
at com.adobe.granite.workflow.core.util.NodeReader.createWorkItem(NodeReader.java:336)
at com.adobe.granite.workflow.core.jcr.WorkItemAdapterFactory.getAdapter(WorkItemAdapterFactory.java:128)
at org.apache.sling.adapter.internal.AdapterManagerImpl.getAdapter(AdapterManagerImpl.java:147)
at com.adobe.granite.workflow.core.jcr.WorkItemManager.getInboxItems(WorkItemManager.java:289)
at com.adobe.granite.workflow.core.WorkflowSessionImpl.getActiveInboxItems(WorkflowSessionImpl.java:711)
at com.adobe.granite.workflow.core.WorkflowSessionImpl.getActiveInboxItems(WorkflowSessionImpl.java:618)
at org.apache.jsp.libs.cq.gui.components.shell.badge.data_json_jsp._jspService(data_json_jsp.java:610)
...
Caused by: javax.jcr.InvalidItemStateException: Item is stale /jcr:system/jcr:versionStorage/01/00/1f/01001f76-9ea5-45ed-934f-dca169e9c9b6
at org.apache.jackrabbit.oak.jcr.delegate.NodeDelegate.getTree(NodeDelegate.java:885)
at org.apache.jackrabbit.oak.jcr.delegate.VersionHistoryDelegate.getVersion(VersionHistoryDelegate.java:81)
at org.apache.jackrabbit.oak.jcr.version.VersionHistoryImpl$5.perform(VersionHistoryImpl.java:137)
at org.apache.jackrabbit.oak.jcr.version.VersionHistoryImpl$5.perform(VersionHistoryImpl.java:133)
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:208)
at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112)
at org.apache.jackrabbit.oak.jcr.version.VersionHistoryImpl.getVersion(VersionHistoryImpl.java:133)
at com.adobe.granite.workflow.core.jcr.WorkflowModelManager.getWorkflowModelFromRepo(WorkflowModelManager.java:160)
... 134 common frames omitted

Environnement

AEM 6.x

Cause

Les versions de flux de production n'ont pas été migrées à partir de l'ancienne version AEM afin que les instances de processus ne soient pas disponibles.

Résolution

  1. Accédez au gestionnaire de package (http://host:port/crx/packmgr/index.jsp).
  2. Créez deux packages de sauvegarde distincts, /etc/workflow/models (y compris le nœud rep: policy) et /etc/workflow/instances.
  3. Allez à http://host:port/crx/de/index.jsp et connectez-vous en tant qu'administrateur.
  4. Parcourez /etc/workflow/templates.
  5. Cliquez avec le bouton droit sur le nœud /etc/workflow/models et sélectionnez Supprimer.
  6. Cliquez sur Tout enregistrer.
  7. Accédez au gestionnaire de package (http://host:port/crx/packmgr/index.jsp).
  8. Réinstallez le package contenant /etc/workflow/models.
  9. Installez le package joint workflow-version-fix-tool-1.1.zip.
  10. Accédez à /apps/workflow-tools/workflowversionfix/run.html
  11. Exécutez le script : ce script réinitialise toutes les instances de flux de travail pour faire référence aux versions de modèle de flux de travail nouvellement réinstallées.

Telechargement