Reproduce
- Start a process instance on Camunda 7.2 which waits in a Multi Instance activity
- Upgrade to Camunda 7.5
- Migrate Process Instance
Error
- parallel MI:
org.camunda.bpm.engine.migration.MigratingProcessInstanceValidationException: ENGINE-23004 Cannot migrate process instance '1775': Process instance contains not migrated variables: [1779, 1783, 1781] at org.camunda.bpm.engine.impl.migration.MigrationLogger.failingMigratingProcessInstanceValidation(MigrationLogger.java:63) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.migrateProcessInstance(MigrateProcessInstanceCmd.java:139) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd$1.call(MigrateProcessInstanceCmd.java:111) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd$1.call(MigrateProcessInstanceCmd.java:106) at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:506) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.execute(MigrateProcessInstanceCmd.java:106) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.execute(MigrateProcessInstanceCmd.java:72) at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104) at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) at org.camunda.bpm.engine.impl.migration.MigrationPlanExecutionBuilderImpl.execute(MigrationPlanExecutionBuilderImpl.java:97) at org.camunda.bpm.engine.impl.migration.MigrationPlanExecutionBuilderImpl.execute(MigrationPlanExecutionBuilderImpl.java:93) at org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.MultiInstanceReceiveTaskScenarioTest.testInitParallelMigration(MultiInstanceReceiveTaskScenarioTest.java:83)
- sequential MI:
org.camunda.bpm.engine.exception.NullValueException: The variable "nrOfInstances" could not be found in execution with id 7803: value is null at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.camunda.bpm.engine.impl.util.EnsureUtil.generateException(EnsureUtil.java:334) at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:49) at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:44) at org.camunda.bpm.engine.impl.bpmn.behavior.MultiInstanceActivityBehavior.getLoopVariable(MultiInstanceActivityBehavior.java:194) at org.camunda.bpm.engine.impl.bpmn.behavior.SequentialMultiInstanceActivityBehavior.createInnerInstance(SequentialMultiInstanceActivityBehavior.java:92) at org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance$MigratingScopeActivityInstanceBehavior.createAttachableExecution(MigratingActivityInstance.java:639) at org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance.createAttachableExecution(MigratingActivityInstance.java:380) at org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance$MigratingScopeActivityInstanceBehavior.attachState(MigratingActivityInstance.java:538) at org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance.attachState(MigratingActivityInstance.java:165) at org.camunda.bpm.engine.impl.migration.instance.MigratingProcessElementInstanceVisitor.migrateProcessElementInstance(MigratingProcessElementInstanceVisitor.java:80) at org.camunda.bpm.engine.impl.migration.instance.MigratingProcessElementInstanceVisitor.visit(MigratingProcessElementInstanceVisitor.java:33) at org.camunda.bpm.engine.impl.migration.instance.MigratingProcessElementInstanceVisitor.visit(MigratingProcessElementInstanceVisitor.java:28) at org.camunda.bpm.engine.impl.tree.ReferenceWalker.walkUntil(ReferenceWalker.java:87) at org.camunda.bpm.engine.impl.tree.ReferenceWalker.walkUntil(ReferenceWalker.java:65) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.migrateProcessInstance(MigrateProcessInstanceCmd.java:325) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd$3.run(MigrateProcessInstanceCmd.java:155) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.executeInContext(MigrateProcessInstanceCmd.java:176) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.migrateProcessInstance(MigrateProcessInstanceCmd.java:151) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd$1.call(MigrateProcessInstanceCmd.java:111) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd$1.call(MigrateProcessInstanceCmd.java:106) at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:506) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.execute(MigrateProcessInstanceCmd.java:106) at org.camunda.bpm.engine.impl.migration.MigrateProcessInstanceCmd.execute(MigrateProcessInstanceCmd.java:72) at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104) at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) at org.camunda.bpm.engine.impl.migration.MigrationPlanExecutionBuilderImpl.execute(MigrationPlanExecutionBuilderImpl.java:97) at org.camunda.bpm.engine.impl.migration.MigrationPlanExecutionBuilderImpl.execute(MigrationPlanExecutionBuilderImpl.java:93) at org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.MultiInstanceReceiveTaskScenarioTest.testInitSequentialMigration(MultiInstanceReceiveTaskScenarioTest.java:145)
AT
- I can migrate MI actvities from before 7.3 to after 7.5
Hint
- with 7.3 the MI implementation was refactored and added an additional scope:
https://blog.camunda.org/post/2015/06/why-we-re-implemented-bpmn-multi/ - failing test cases: https://github.com/camunda/camunda-bpm-platform/commit/5bd75b31ce8cf73deaeb7959b6025cb8acd16491