Timer start event doesn't fire anymore after redeployment v7.3

915 views
Skip to first unread message

tob...@holke-online.net

unread,
Nov 20, 2015, 4:16:26 AM11/20/15
to camunda BPM users
Hi,

I have a small process which should start every 30 minutes. With a new camunda installation it starts every 30 minutes.
After re-deploying the process, the timer event never fires again. In catalina.out I also could not read any error message.
Process sources:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://activiti.org/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_iZs2cNlMEeS-kbJwzu1kzQ" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://activiti.org/bpmn">
 
<bpmn2:process id="checkMails" name="TimerProcess" isExecutable="true">
   
<bpmn2:serviceTask id="timer" camunda:class="some.package.Class" name="Timer">
     
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
     
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
   
</bpmn2:serviceTask>
   
<bpmn2:startEvent id="StartEvent_1">
     
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
     
<bpmn2:timerEventDefinition id="_TimerEventDefinition_2">
       
<bpmn2:timeCycle xsi:type="bpmn2:tFormalExpression">R/PT30M</bpmn2:timeCycle>
     
</bpmn2:timerEventDefinition>
   
</bpmn2:startEvent>
   
<bpmn2:endEvent id="EndEvent_1">
     
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
   
</bpmn2:endEvent>
   
<bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="timer"/>
   
<bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="checkAccounts" targetRef="EndEvent_1"/>
 
</bpmn2:process>
 
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
   
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="checkMails">
     
<bpmndi:BPMNShape id="_BPMNShape_ServiceTask_31" bpmnElement="timer">
       
<dc:Bounds height="80.0" width="100.0" x="453.0" y="145.0"/>
     
</bpmndi:BPMNShape>
     
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_6" bpmnElement="StartEvent_1">
       
<dc:Bounds height="36.0" width="36.0" x="287.0" y="169.0"/>
     
</bpmndi:BPMNShape>
     
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_14" bpmnElement="EndEvent_1">
       
<dc:Bounds height="36.0" width="36.0" x="659.0" y="165.0"/>
     
</bpmndi:BPMNShape>
     
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_6" targetElement="_BPMNShape_ServiceTask_31">
       
<di:waypoint xsi:type="dc:Point" x="323.0" y="187.0"/>
       
<di:waypoint xsi:type="dc:Point" x="388.0" y="187.0"/>
       
<di:waypoint xsi:type="dc:Point" x="388.0" y="185.0"/>
       
<di:waypoint xsi:type="dc:Point" x="453.0" y="185.0"/>
     
</bpmndi:BPMNEdge>
     
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ServiceTask_31" targetElement="_BPMNShape_EndEvent_14">
       
<di:waypoint xsi:type="dc:Point" x="553.0" y="185.0"/>
       
<di:waypoint xsi:type="dc:Point" x="606.0" y="185.0"/>
       
<di:waypoint xsi:type="dc:Point" x="606.0" y="183.0"/>
       
<di:waypoint xsi:type="dc:Point" x="659.0" y="183.0"/>
     
</bpmndi:BPMNEdge>
   
</bpmndi:BPMNPlane>
 
</bpmndi:BPMNDiagram>
</bpmn2:definitions>

 

I'm using camunda 7.3 in a tomcat 8.0.23.

Hope anyone can help. Thank you.

Regards, 
Tobias

thorben....@camunda.com

unread,
Nov 23, 2015, 3:36:48 AM11/23/15
to camunda BPM users
Hi Tobias,

Could you please publish a simple process application project that reproduces the problem to github? That makes it way easier to reproduce for us.

Thanks and best regards,
Thorben

tob...@holke-online.net

unread,
Nov 24, 2015, 5:23:56 AM11/24/15
to camunda BPM users
Hi Thorben,

thanks for your reply.
Here you can clone the minimalized process:

Thanks for your work, regards
Tobias

thorben....@camunda.com

unread,
Nov 24, 2015, 9:37:14 AM11/24/15
to camunda BPM users
Hi Tobias,

Thanks for the sources. Which procedure do you refer to when you say "re-deploying the process" (i.e. what are the exact steps to reproduce the problem)?

One thing you could check is the set of registered deployments for which the job executor acquires jobs. You can check that with jconsole and connecting to the Tomcat process. It should provide an MBean org.camunda.bpm.platform.process-engine.default that has an attribute RegisteredDeployments. The deployment id to which the timer start event job belongs should be in that set. If it is not, then we have found an explanation why the timer does not get executed but not the reason yet ;)

Cheers,
Thorben
Message has been deleted
Message has been deleted

tob...@holke-online.net

unread,
Nov 25, 2015, 11:16:10 AM11/25/15
to camunda BPM users

Hi Thorben,

This is the deployment process:
1. delete old .war
2. wait for undeploying 
3. copy new .war to /webapps
4. wait for deploying

I looked up the MBean. The only deployed id is:
0246245e-9223-11e5-9dcc-1aed57d0c4d6

In catalina.out the process is deployed with: 
checkMails[version: 1, id: checkMails:1:02adbfe0-9223-11e5-9dcc-1aed57d0c4d6]
... some more processes 

= different id's

I have a "multi-process" project. I deploy one .war with several processes. So the deployed id is that one from the "parent" .war.
But at the first two oder three redeployements this architecture worked ... 

I found this two entries in the database (table act_ru_job)... maybe it will help you:


Regards,
Tobias

thorben....@camunda.com

unread,
Nov 25, 2015, 11:24:46 AM11/25/15
to camunda BPM users
Hi Tobias,

Thanks for posting the ACT_RU_JOB entries. Both jobs have 0 retries, in which case the process engine will no longer execute them. Retries are decremented when job execution fails (e.g. due to an exception). By default a job has three retries. You can increment retries via ManagementService#setRetries (or the same operation in the REST API). So there should be some indication in the logs that the jobs have failed. Alternatively, if you are on history level "full", you can use the HistoricJobLogQuery to query for job failure events.

Cheers,
Thorben

tob...@holke-online.net

unread,
Nov 26, 2015, 3:08:12 AM11/26/15
to camunda BPM users
Hi Thorben,

you made my day, thank you! Your hint was the solution.
Is there any documentation where I could have read it?

Cheers,
Tobias

thorben....@camunda.com

unread,
Nov 26, 2015, 3:20:39 AM11/26/15
to camunda BPM users
Hi Tobias,

Good to read that this solved your problem. You can give the user guide section on the job executor [1] a read. It also covers the behavior in case of job failure.

Cheers,
Thorben

[1] https://docs.camunda.org/manual/7.3/guides/user-guide/#process-engine-the-job-executor
Reply all
Reply to author
Forward
0 new messages