Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-10145

Unable to abort process instance that hit the issue reported in RHPAM-4296

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Runtime Engine
    • False
    • None
    • False
    • NEW
    • NEW
    • ---
    • ---

      RHPAM-4296 describes a situation with WIH and exception handling sub-process that can lead to a situation where the engine is unable to abort the process instance that hit this issue. While the fix from this JIRA addresses the root cause of the issue, this only applies to newly created process instances. Instances created in an environment without the fix still cannot be aborted.

      The intent of this JIRA is to make the code more robust and to allow to abort such process instances.

      Stack trace of the error:

      // engine gets the abort call for process instance 594 (parent)
      2022-12-14 14:29:17,085 DEBUG [org.jbpm.runtime.manager.impl.AbstractRuntimeManager] (default task-1) Trying to get a lock java.util.concurrent.locks.ReentrantLock@7c5435e3[Unlocked] for 594 by org.jbpm.runtime.manager.impl.RuntimeEngineImpl@17773a74(KieSessionId=null)
      
      // failure in getting the sub-process:
      2022-12-14 14:29:17,112 WARN  [org.drools.persistence.PersistableRunner] (default task-1) Could not commit session: org.kie.internal.runtime.manager.SessionNotFoundException: No session found for context 598
      	at deployment.kie-server.war//org.jbpm.runtime.manager.impl.PerProcessInstanceRuntimeManager$PerProcessInstanceInitializer.initKieSession(PerProcessInstanceRuntimeManager.java:572)
      	at deployment.kie-server.war//org.jbpm.runtime.manager.impl.RuntimeEngineImpl.internalGetKieSession(RuntimeEngineImpl.java:163)
      	at deployment.kie-server.war//org.jbpm.runtime.manager.impl.RuntimeEngineImpl.getKieSession(RuntimeEngineImpl.java:74)
      	at deployment.kie-server.war//org.jbpm.workflow.instance.node.WorkItemNodeInstance.getKieRuntimeForSubprocess(WorkItemNodeInstance.java:614)
      	at deployment.kie-server.war//org.jbpm.workflow.instance.node.WorkItemNodeInstance.getKieRuntimeForExceptionSubprocess(WorkItemNodeInstance.java:596)
      	at deployment.kie-server.war//org.jbpm.workflow.instance.node.WorkItemNodeInstance.cancel(WorkItemNodeInstance.java:320)
      	at deployment.kie-server.war//org.jbpm.workflow.instance.impl.NodeInstanceImpl.cancel(NodeInstanceImpl.java:160)
      	at deployment.kie-server.war//org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.setState(WorkflowProcessInstanceImpl.java:414)
      	at deployment.kie-server.war//org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.setState(WorkflowProcessInstanceImpl.java:453)
      	at deployment.kie-server.war//org.jbpm.process.instance.ProcessRuntimeImpl.abortProcessInstance(ProcessRuntimeImpl.java:576)
      	at deployment.kie-server.war//org.drools.core.impl.StatefulKnowledgeSessionImpl.abortProcessInstance(StatefulKnowledgeSessionImpl.java:565)
      

      The problem is that the exceptionHandlingProcessInstanceId is set to 598, but this exception handling process has already ended:
      https://github.com/kiegroup/jbpm/blob/main/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/WorkItemNodeInstance.java#L318-L326
       

              rhn-support-mputz Martin Weiler (Inactive)
              rhn-support-mputz Martin Weiler (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: