Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-4057

Process instance migration does not update command data

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.13.0.GA
    • 7.11.1.GA
    • jBPM Core
    • False
    • False
    • ER1
    • ?
    • Hide

      See attached reproducer

      Show
      See attached reproducer

      We have a process containing an async node that executes a custom WIH. In the current kjar, this custom WIH is faulty, leading to the async job in ERROR state after the retry attempts are exhausted.

      To address this, we have followed these steps:

      1. Fix the WIH implementation
      2. Deploy a new container v2 with the fixed WIH implementation (no changes to the bpmn file)
      3. Migrate the process instance

      When we now try to requeue the ERROR job using the admin API, we expect the process to execute the corrected WIH. However, the execution of the job fails:

      14:37:12,771 WARN  [org.jbpm.executor.impl.AbstractAvailableJobsExecutor] (EE-ManagedThreadFactory-default-Thread-1) Error during command org.jbpm.process.core.async.AsyncSignalEventCommand error message No session found for context 100025: org.kie.internal.runtime.manager.SessionNotFoundException: No session found for context 100025
      	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.process.core.async.AsyncSignalEventCommand.execute(AsyncSignalEventCommand.java:53)
      	at deployment.kie-server.war//org.jbpm.executor.impl.AbstractAvailableJobsExecutor.executeGivenJob(AbstractAvailableJobsExecutor.java:135)
      	at deployment.kie-server.war//org.jbpm.executor.impl.AvailableJobsExecutor.executeJob(AvailableJobsExecutor.java:33)
      	at deployment.kie-server.war//org.jbpm.executor.impl.concurrent.PrioritisedRunnable.run(PrioritisedRunnable.java:47)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
      	at deployment.kie-server.war//org.jbpm.executor.impl.concurrent.PrioritisedScheduledFutureTask.run(PrioritisedScheduledFutureTask.java:41)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      	at org.glassfish.javax.enterprise.concurrent@1.0.0.redhat-1//org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
      

      Retrieving the job details, we can see that the AsyncSignalEventCommand stored with the job still holds a reference to the old KieContainer, so has not been updated during the migration.

              rhn-support-egonzale Enrique Gonzalez Martinez (Inactive)
              rhn-support-mputz Martin Weiler (Inactive)
              Antonio Fernandez Alhambra Antonio Fernandez Alhambra (Inactive)
              Antonio Fernandez Alhambra Antonio Fernandez Alhambra (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              11 Start watching this issue

                Created:
                Updated:
                Resolved: