Timer not working for previous camunda process definition versions

Hi, I want to run a timer once every 25 hours.

I set the duration as PT25H but it doesn’t seem to work.

I see that the timer is working fine on latest camunda process definition version but in older camunda process definition versions the timer is not triggered anymore. Why? Where can I change this?

Also see Deployment-Aware Job Executor

Hi @firstpostcommenter,

If I understand what you are asking for here: you want previous versions of a process definition to continue to fire the timer, after deploying a new version of the process?

If this is what you want, you should deploy the new version of the process not as a new version of the existing process, but as a new process with a unique Id.

As far as I understand it: when you deploy a new version of a process, the previous version is effectively archived - undeployed - or shadowed by the new version.

So the old versions of a process are no longer active, and timer start events in them will not fire.

Josh

Then I would have to create too many processes for each small change. Is there some kind of workaround?

I only see the latest deployment ID in the registeredPipelines of Camunda management service. Can I register older deployment IDs to solve the issue?

Why do you want previous versions to continue spawning instances?

I do not want previous versions to spawn new instances. But I want the previous instances to complete. There are already many instances waiting in the previous versions. Now I have to manually migrate them to the latest camunda process definition version so that the timer event can proceed for those process instances.

When I check the management service ManagementService (camunda BPM Javadocs 7.3.7-ee) then I only see the latest deployment ID and not the older deployment IDs. I tried to register the older deployment id manually but I get the below error
org.camunda.bpm.engine.context : ENGINE-16004 Exception while closing command context: Deployment “respective deployment ID” does not exist: deployment is null

Oh, so this is not a timer start event? It is an intermediate timer event or a boundary timer event?

Yes correct, this is for intermediate timer event. If event does not come within 1 hour then process should be completed. But in older process definitions the process instances stays open forever.

Hi @firstpostcommenter

Are you talking about Camunda 7 or Camunda 8? There are various links in your posts about Camunda 7 and Zeebe (Camuda 8)?

BR
Michael

Camunda 7.17

Hi @firstpostcommenter,

it could be case regarding the mix of process application and deployment, that the job executor in the process engine didn’t feel responsible for jobs that were created from process definitions deployed by the modeler after a restart of the engine. You can find more details about the background here: The Job Executor | docs.camunda.org

With the latest release you can check this with the REST API: Camunda Automation Platform 7.17.0 Released - Camunda

Hope this helps, Ingo

2 Likes

It is good to know that now we can inspect the registered deployments through REST API
Thanks a lot @Ingo_Richtsmeier