If you execute Migration service while an async job of the process instance is running, Migration service successfully finished but the job fails at AsyncWorkItemHandlerCmdCallback.onCommandDone()
2018-08-21 11:22:07,776 WARN [org.jbpm.executor.impl.AbstractAvailableJobsExecutor] (Thread-7 (ActiveMQ-client-global-threads)) Error during command com.sample.AsyncCommand error message No session found for co ntext 10: org.kie.internal.runtime.manager.SessionNotFoundException: No session found for context 10 at org.jbpm.runtime.manager.impl.PerProcessInstanceRuntimeManager$PerProcessInstanceInitializer.initKieSession(PerProcessInstanceRuntimeManager.java:564) at org.jbpm.runtime.manager.impl.RuntimeEngineImpl.getKieSession(RuntimeEngineImpl.java:72) at org.jbpm.executor.impl.wih.AsyncWorkItemHandlerCmdCallback.onCommandDone(AsyncWorkItemHandlerCmdCallback.java:68) at org.jbpm.executor.impl.AbstractAvailableJobsExecutor.executeGivenJob(AbstractAvailableJobsExecutor.java:183) at org.jbpm.executor.impl.jms.JmsAvailableJobsExecutor.onMessage(JmsAvailableJobsExecutor.java:47) at org.kie.server.jms.executor.KieExecutorMDB.onMessage(KieExecutorMDB.java:86)
Migration service doesn't support migration of running job. So request to let Migration service fail-fast in such a case.
This JIRA will:
- if there is any QUEUED/RETRYING/RUNNING job of the process instance, migration will fail. Users just need to wait jobs to be finished.
- if there is no job or only DONE/CANCELLED job of the process instance, migration will proceed. Do nothing to RequestInfo table.
- if there is ERROR job of the process instance, migration will proceed. MigrationManager migrates RequestInfo's internal data (e.g. ctx.getData("deploymentId")) to the new deploymentId so that users can requeue it after migration
- is cloned by
-
JBPM-7806 Handle async jobs by Migration service
- Resolved