stacktrace:
****** chain ****** Name: ValidationWf_ForceResume Exception: OperationException Caught error: Failed to invoke operation Workflow.ResumeNode with aliases [Workflow.ResumeNodeOperation] Caused by: org.nuxeo.ecm.core.api.DocumentNotFoundException: b0ce398d-525e-424e-bd84-4b7eadcd6b67 ****** Hierarchy calls ****** org.nuxeo.ecm.automation.core.operations.FetchContextDocument org.nuxeo.ecm.platform.routing.core.api.operation.ResumeNodeOperation at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:232) at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:91) at org.nuxeo.ecm.platform.routing.core.impl.GraphNodeImpl.executeChain(GraphNodeImpl.java:512) ... 9 more Caused by: org.nuxeo.ecm.automation.OperationException: Failed to invoke operation Workflow.ResumeNode with aliases [Workflow.ResumeNodeOperation] at org.nuxeo.ecm.automation.core.impl.InvokableMethod.invoke(InvokableMethod.java:182) at org.nuxeo.ecm.automation.core.impl.CompiledChainImpl.doInvoke(CompiledChainImpl.java:128) at org.nuxeo.ecm.automation.core.impl.CompiledChainImpl.invoke(CompiledChainImpl.java:114) at org.nuxeo.ecm.automation.core.impl.CompiledChainImpl.doInvoke(CompiledChainImpl.java:131) at org.nuxeo.ecm.automation.core.impl.CompiledChainImpl.invoke(CompiledChainImpl.java:114) at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:208) ... 11 more Caused by: org.nuxeo.ecm.core.api.DocumentNotFoundException: b0ce398d-525e-424e-bd84-4b7eadcd6b67 at org.nuxeo.ecm.core.storage.sql.coremodel.SQLSession.getDocumentByUUID(SQLSession.java:171) at org.nuxeo.ecm.core.api.AbstractSession.resolveReference(AbstractSession.java:326) at org.nuxeo.ecm.core.api.AbstractSession.getDocuments(AbstractSession.java:949) at org.nuxeo.ecm.platform.routing.core.impl.GraphRouteImpl.getAttachedDocumentModels(GraphRouteImpl.java:246) at org.nuxeo.ecm.platform.routing.core.impl.GraphNodeImpl.cancelTask(GraphNodeImpl.java:1005) at org.nuxeo.ecm.platform.routing.core.impl.GraphNodeImpl.cancelTasks(GraphNodeImpl.java:645) at org.nuxeo.ecm.platform.routing.core.impl.GraphRunner.resume(GraphRunner.java:158) at org.nuxeo.ecm.platform.routing.core.impl.DocumentRouteElementImpl.resume(DocumentRouteElementImpl.java:82) at org.nuxeo.ecm.platform.routing.core.impl.DocumentRoutingEngineServiceImpl.resume(DocumentRoutingEngineServiceImpl.java:46) at org.nuxeo.ecm.platform.routing.core.impl.DocumentRoutingServiceImpl$CompleteTaskRunner.run(DocumentRoutingServiceImpl.java:351) at org.nuxeo.ecm.core.api.UnrestrictedSessionRunner.runUnrestricted(UnrestrictedSessionRunner.java:110) at org.nuxeo.ecm.platform.routing.core.impl.DocumentRoutingServiceImpl.completeTask(DocumentRoutingServiceImpl.java:318) at org.nuxeo.ecm.platform.routing.core.impl.DocumentRoutingServiceImpl.resumeInstance(DocumentRoutingServiceImpl.java:306) at org.nuxeo.ecm.platform.routing.core.api.operation.ResumeNodeOperation.resumeWorkflow(ResumeNodeOperation.java:61) at sun.reflect.GeneratedMethodAccessor361.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.nuxeo.ecm.automation.core.impl.InvokableMethod.doInvoke(InvokableMethod.java:157) at org.nuxeo.ecm.automation.core.impl.InvokableMethod.invoke(InvokableMethod.java:170)
In method GraphRouteImpl#getAttachedDocumentModels, we should check if document still exists before putting it into list docRefs.
The fix is similar to the one applied for NXP-19166.