I’ve got a problem with process instance migration. Our setup is as follows:
Single PostgreSQL database running a camunda database
spring-boot application running Camunda Webapps
spring-boot application running a Camunda BPM process and offer access to this process via custom REST API
all spring-boot apps have the same process engine configuration, e.g. deployment-aware is true
I want to perform a process instance migration by utilizing camunda cockpit. I can perform process instance migration with the help of the migration plugin. It creates the instance-migration batch job. But it does not do anything. The job remains at 0% progress.
What I see when I dive into the code is that the job executor of the spring-boot application running the Camunda BPM process just looks for jobs regarding the latest version of the deployment. But, the migration job contains the deployment ID of the previous version.
So, how exactly shall migration work in an clustered environment?
Which job executor shall perform the migration? The one running in the Cockpit web application or the one running in the process application?
As I got a solution from our enterprise support I’d like share this to the community.
We did not use the @EnableProcessApplication annotation yet. This one registers the application to all existing deployments and thus, actions on the old deployments such as process migrations and task completions will be properly handled by the process application.