BoundaryTimerEvent generates OptimisticLockException and never finishes

Hello,

I have created a User Task with 3 BoundaryTimerEvents:

  • 1 non interruptive timer event with a period of 10s (R/PT10S)
  • 1 non interruptive timer event with a duration of 30s (PT30S)
  • 1 interruptive timer event with a duration of 1mn (PT1M)

Here’s the BPMN (6.6.0):
image

When I execute it, when the (last) interruptive timer after 1mn is executed, I have an OptimisticLockException which rollbacks this branch and returns to the User Task (script task asynchronous or not, I tested both with same result).
The result is that the User Task is still alive with the recurring 10s timer still alive also.
The expected result is obviously to finish the process…

I have tested with 6.7.0 and this behaviour doesn’t seem to appear (which doesn’t mean it isn’t here :)).

Here’s the log (6.6.0):

2021-11-03 09:55:39.869 INFO 37416 — [nio-8080-exec-2] o.f.e.c.impl.deployer.BpmnDeployer : BpmnDeployer: processing resource MULTI_BOUNDARY_TIMERS.bpmn
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning 1shot 30s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
2021-11-03 09:56:50.819 ERROR 37416 — [task-Executor-4] ltAsyncRunnableExecutionExceptionHandler : Job d5d040c8-3c83-11ec-9040-c03eba3cd8b2 failed

org.flowable.common.engine.api.FlowableOptimisticLockingException: Execution[ id ‘d5cff2a4-3c83-11ec-9040-c03eba3cd8b2’ ] - activity ‘sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03’ - parent ‘d5cff29c-3c83-11ec-9040-c03eba3cd8b2’ was updated by another transaction concurrently
at org.flowable.common.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:577) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:364) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:211) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContext.close(CommandContext.java:69) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:92) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.2.12.RELEASE.jar:5.2.12.RELEASE]
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:127) [flowable-job-service-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:115) [flowable-job-service-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_291]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_291]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_291]

Parallel Warning Recurrent 10s
2021-11-03 09:57:00.822 ERROR 37416 — [task-Executor-4] ltAsyncRunnableExecutionExceptionHandler : Job d5d040c8-3c83-11ec-9040-c03eba3cd8b2 failed

org.flowable.common.engine.api.FlowableOptimisticLockingException: Execution[ id ‘d5cff2a4-3c83-11ec-9040-c03eba3cd8b2’ ] - activity ‘sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03’ - parent ‘d5cff29c-3c83-11ec-9040-c03eba3cd8b2’ was updated by another transaction concurrently
at org.flowable.common.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:577) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:364) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:211) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContext.close(CommandContext.java:69) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:92) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.2.12.RELEASE.jar:5.2.12.RELEASE]
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:127) [flowable-job-service-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:115) [flowable-job-service-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_291]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_291]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_291]

Parallel Warning Recurrent 10s
2021-11-03 09:57:10.825 ERROR 37416 — [task-Executor-3] ltAsyncRunnableExecutionExceptionHandler : Job d5d040c8-3c83-11ec-9040-c03eba3cd8b2 failed

org.flowable.common.engine.api.FlowableOptimisticLockingException: Execution[ id ‘d5cff2a4-3c83-11ec-9040-c03eba3cd8b2’ ] - activity ‘sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03’ - parent ‘d5cff29c-3c83-11ec-9040-c03eba3cd8b2’ was updated by another transaction concurrently
at org.flowable.common.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:577) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:364) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:211) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContext.close(CommandContext.java:69) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:92) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.2.12.RELEASE.jar:5.2.12.RELEASE]
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:127) [flowable-job-service-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:115) [flowable-job-service-6.6.1-SNAPSHOT.jar:6.6.1-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_291]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_291]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_291]

Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s
Parallel Warning Recurrent 10s

Best Regards
William

What (I think) - is happening is that both timers fired at the same time. One boundary event ‘won’ and progressed, but the other one rolled back to the original state. At that point one of the timers should still be there and eventually trigger and finish the process. But you’re saying that the timer never fires again?

What’s the duedate of the timers after the optimistic locking exception happened?

Hi Joram,

Thanks to investigate on this bug report. :+1:

What I say is what is inside the log (and in the workflow diagram): the interruptive timer and one shot timer are never fired again, when the non-interruptive one continues ad vitam aeternam.
It means that the workflow never finishes.

It seems that all timers are executed as expected (once for interruptive and one shot, and repeat until end of User Task for the recurrent one), even in case of exception… :frowning:

Thanks again

BTW I didn’t find a way to attach the corresponding BPMN to this issue :frowning:

You can embed the XML in code tags here.

That would be useful, cause I’m not yet following the ‘all timers are executed as expected’. In the case of an optimistic exception, it should be retried, no?

I retried and did some snapshots from DB.
In fact, the main (interruptive) Timer job ended in DeadLetter, by relaunching it I was able to finish the process.
But not really good as behaviour… :frowning:

TIMER TABLE
Start (3 timers):
cc451410-423d-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95c8-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 sid-8532A220-F753-48D3-80CA-088F67F1CAFD PT1M null null null null cc45140f-423d-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:50:32.916 null trigger-timer {“activityId”:“sid-8532A220-F753-48D3-80CA-088F67F1CAFD”} null 2021-11-10 16:49:32.916
cc453b22-423d-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95ca-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 sid-FBD9D084-5F06-43BD-BCD4-CEE62D0EB05C PT30S null null null null cc453b21-423d-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:50:02.917 null trigger-timer {“activityId”:“sid-FBD9D084-5F06-43BD-BCD4-CEE62D0EB05C”} null 2021-11-10 16:49:32.917
d3ca6ebd-423d-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95cc-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 null null null null null null d3ca6ebc-423d-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:49:52.917 R/2021-11-10T16:49:32.917+01:00/PT10S trigger-timer {“activityId”:“sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03”} null 2021-11-10 16:49:45.534

After Exception (DB snapshot1)
cc451410-423d-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95c8-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 sid-8532A220-F753-48D3-80CA-088F67F1CAFD PT1M null null null null cc45140f-423d-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:50:32.916 null trigger-timer {“activityId”:“sid-8532A220-F753-48D3-80CA-088F67F1CAFD”} null 2021-11-10 16:49:32.916
e5a9ee20-423d-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95cc-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 null null null null null null e5a9ee1f-423d-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:50:22.917 R/2021-11-10T16:49:32.917+01:00/PT10S trigger-timer {“activityId”:“sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03”} null 2021-11-10 16:50:15.52

After Exception (DB snapshot2)
cc451410-423d-11ec-83eb-c03eba3cd8b2 2 null timer null null TRUE cc3f95c8-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 sid-8532A220-F753-48D3-80CA-088F67F1CAFD PT1M null null null null cc45140f-423d-11ec-83eb-c03eba3cd8b2 2 f197d327-423d-11ec-83eb-c03eba3cd8b2 Execution[ id ‘cc3f95cc-423d-11ec-83eb-c03eba3cd8b2’ ] - activity ‘sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03’ - parent ‘cc3f95c4-423d-11ec-83eb-c03eba3cd8b2’ was updated by another transaction concurrently 2021-11-10 16:50:42.916 null trigger-timer {“activityId”:“sid-8532A220-F753-48D3-80CA-088F67F1CAFD”} null 2021-11-10 16:50:35.534
f483f699-423d-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95cc-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 null null null null null null f483f698-423d-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:50:42.917 R/2021-11-10T16:49:32.917+01:00/PT10S trigger-timer {“activityId”:“sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03”} null 2021-11-10 16:50:40.437

At the end (after 1 mn, only 1 timer still alive, the recurrent one):
TIMER TABLE
097794dd-423e-11ec-83eb-c03eba3cd8b2 1 null timer null null TRUE cc3f95cc-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 null null null null null null 097794dc-423e-11ec-83eb-c03eba3cd8b2 3 null null 2021-11-10 16:51:22.917 R/2021-11-10T16:49:32.917+01:00/PT10S trigger-timer {“activityId”:“sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03”} null 2021-11-10 16:51:15.588
DEADLETTER TABLE
cc451410-423d-11ec-83eb-c03eba3cd8b2 4 null timer TRUE cc3f95c8-423d-11ec-83eb-c03eba3cd8b2 cc3f95c1-423d-11ec-83eb-c03eba3cd8b2 MULTI_BOUNDARY_TIMERS:3:28214676-3c8c-11ec-9040-c03eba3cd8b2 sid-8532A220-F753-48D3-80CA-088F67F1CAFD PT1M null null null null cc45140f-423d-11ec-83eb-c03eba3cd8b2 fd859129-423d-11ec-83eb-c03eba3cd8b2 Execution[ id ‘cc3f95cc-423d-11ec-83eb-c03eba3cd8b2’ ] - activity ‘sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03’ - parent ‘cc3f95c4-423d-11ec-83eb-c03eba3cd8b2’ was updated by another transaction concurrently 2021-11-10 16:51:02.916 null trigger-timer {“activityId”:“sid-8532A220-F753-48D3-80CA-088F67F1CAFD”} null 2021-11-10 16:50:55.547

Here’s the BPMN:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
  <process id="MULTI_BOUNDARY_TIMERS" name="MULTI_BOUNDARY_TIMERS" isExecutable="true">
    <documentation>MULTI_BOUNDARY_TIMERS</documentation>
    <startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
    <userTask id="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD" name="Not used" flowable:formFieldValidation="true"></userTask>
    <sequenceFlow id="sid-27BE6741-368D-4D4C-B2F5-A731C8B8191F" sourceRef="startEvent1" targetRef="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD"></sequenceFlow>
    <endEvent id="sid-BB3F6600-78B1-487C-AEEF-C31D95E08E22"></endEvent>
    <sequenceFlow id="sid-D23FC016-C67C-4A20-8A7B-844A4201C5E5" sourceRef="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD" targetRef="sid-BB3F6600-78B1-487C-AEEF-C31D95E08E22"></sequenceFlow>
    <sequenceFlow id="sid-635996BD-55AF-43D5-AAB2-3E7A8683F5EF" sourceRef="sid-8532A220-F753-48D3-80CA-088F67F1CAFD" targetRef="sid-CF7D77D9-64BA-4921-B730-A7DAF1BC877B"></sequenceFlow>
    <scriptTask id="sid-CF7D77D9-64BA-4921-B730-A7DAF1BC877B" name="INTERRUPTIVE event: STOP" scriptFormat="groovy" flowable:autoStoreVariables="false">
      <script><![CDATA[println "INTERRUPTIVE event: STOP!!!"]]></script>
    </scriptTask>
    <endEvent id="sid-17366CF0-FB1F-43D0-BAEF-1F2FD2D206CD"></endEvent>
    <sequenceFlow id="sid-5EB06E3A-8672-4C2B-BBD6-6037016719A4" sourceRef="sid-CF7D77D9-64BA-4921-B730-A7DAF1BC877B" targetRef="sid-17366CF0-FB1F-43D0-BAEF-1F2FD2D206CD"></sequenceFlow>
    <scriptTask id="sid-31F350C0-330E-4C85-A422-62CFB266B884" name="Parallel Warning 
1shot 30s" scriptFormat="groovy" flowable:autoStoreVariables="false">
      <script><![CDATA[println "Parallel Warning 1shot 30s"]]></script>
    </scriptTask>
    <scriptTask id="sid-EFFB2FB7-A249-43C7-96ED-A4968238A250" name="Parallel Warning
Recurrent 10s" scriptFormat="groovy" flowable:autoStoreVariables="false">
      <script><![CDATA[println "Parallel Warning Recurrent 10s"]]></script>
    </scriptTask>
    <endEvent id="sid-722DE6EB-25C1-4F4B-90D5-ED7C66A725D3"></endEvent>
    <sequenceFlow id="sid-E2EBA3F6-C771-4C0C-900C-4DD2F8A16C1A" sourceRef="sid-31F350C0-330E-4C85-A422-62CFB266B884" targetRef="sid-722DE6EB-25C1-4F4B-90D5-ED7C66A725D3"></sequenceFlow>
    <endEvent id="sid-49E21105-7FC9-4A62-8A01-F9B338573C61"></endEvent>
    <sequenceFlow id="sid-81CDAF23-1A0A-4430-ACC2-D5F05DA8106E" sourceRef="sid-EFFB2FB7-A249-43C7-96ED-A4968238A250" targetRef="sid-49E21105-7FC9-4A62-8A01-F9B338573C61"></sequenceFlow>
    <sequenceFlow id="sid-17300590-011C-4B62-BFE4-5F27ECA41F7D" sourceRef="sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03" targetRef="sid-EFFB2FB7-A249-43C7-96ED-A4968238A250"></sequenceFlow>
    <sequenceFlow id="sid-C2E5627C-E1CB-426D-B19C-819773CF7930" sourceRef="sid-FBD9D084-5F06-43BD-BCD4-CEE62D0EB05C" targetRef="sid-31F350C0-330E-4C85-A422-62CFB266B884"></sequenceFlow>
    <boundaryEvent id="sid-8532A220-F753-48D3-80CA-088F67F1CAFD" attachedToRef="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD" cancelActivity="true">
      <timerEventDefinition>
        <timeDuration>PT1M</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="sid-FBD9D084-5F06-43BD-BCD4-CEE62D0EB05C" attachedToRef="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT30S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03" attachedToRef="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD" cancelActivity="false">
      <timerEventDefinition>
        <timeCycle>R/PT10S</timeCycle>
      </timerEventDefinition>
    </boundaryEvent>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_MULTI_BOUNDARY_TIMERS">
    <bpmndi:BPMNPlane bpmnElement="MULTI_BOUNDARY_TIMERS" id="BPMNPlane_MULTI_BOUNDARY_TIMERS">
      <bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
        <omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-B35DD881-DF35-4672-A48A-EB95894DDFCD" id="BPMNShape_sid-B35DD881-DF35-4672-A48A-EB95894DDFCD">
        <omgdc:Bounds height="80.0" width="100.0" x="175.0" y="138.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-BB3F6600-78B1-487C-AEEF-C31D95E08E22" id="BPMNShape_sid-BB3F6600-78B1-487C-AEEF-C31D95E08E22">
        <omgdc:Bounds height="28.0" width="28.0" x="320.0" y="164.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-CF7D77D9-64BA-4921-B730-A7DAF1BC877B" id="BPMNShape_sid-CF7D77D9-64BA-4921-B730-A7DAF1BC877B">
        <omgdc:Bounds height="80.0" width="100.0" x="360.0" y="360.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-17366CF0-FB1F-43D0-BAEF-1F2FD2D206CD" id="BPMNShape_sid-17366CF0-FB1F-43D0-BAEF-1F2FD2D206CD">
        <omgdc:Bounds height="28.0" width="28.0" x="505.0" y="386.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-31F350C0-330E-4C85-A422-62CFB266B884" id="BPMNShape_sid-31F350C0-330E-4C85-A422-62CFB266B884">
        <omgdc:Bounds height="80.0" width="100.0" x="360.0" y="225.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-EFFB2FB7-A249-43C7-96ED-A4968238A250" id="BPMNShape_sid-EFFB2FB7-A249-43C7-96ED-A4968238A250">
        <omgdc:Bounds height="80.0" width="100.0" x="360.0" y="30.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-722DE6EB-25C1-4F4B-90D5-ED7C66A725D3" id="BPMNShape_sid-722DE6EB-25C1-4F4B-90D5-ED7C66A725D3">
        <omgdc:Bounds height="28.0" width="28.0" x="505.0" y="251.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-49E21105-7FC9-4A62-8A01-F9B338573C61" id="BPMNShape_sid-49E21105-7FC9-4A62-8A01-F9B338573C61">
        <omgdc:Bounds height="28.0" width="28.0" x="505.0" y="56.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-8532A220-F753-48D3-80CA-088F67F1CAFD" id="BPMNShape_sid-8532A220-F753-48D3-80CA-088F67F1CAFD">
        <omgdc:Bounds height="31.0" width="31.0" x="183.7126603774365" y="202.61363941287655"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-FBD9D084-5F06-43BD-BCD4-CEE62D0EB05C" id="BPMNShape_sid-FBD9D084-5F06-43BD-BCD4-CEE62D0EB05C">
        <omgdc:Bounds height="31.0" width="31.0" x="258.41669559065593" y="202.98278255778422"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03" id="BPMNShape_sid-D4BCF135-67F9-4F21-8940-DD10FE6D2F03">
        <omgdc:Bounds height="31.0" width="31.0" x="202.91871448274125" y="121.5497790037233"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="sid-81CDAF23-1A0A-4430-ACC2-D5F05DA8106E" id="BPMNEdge_sid-81CDAF23-1A0A-4430-ACC2-D5F05DA8106E">
        <omgdi:waypoint x="459.9499999999792" y="70.0"></omgdi:waypoint>
        <omgdi:waypoint x="505.0" y="70.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-C2E5627C-E1CB-426D-B19C-819773CF7930" id="BPMNEdge_sid-C2E5627C-E1CB-426D-B19C-819773CF7930">
        <omgdi:waypoint x="274.9926845607831" y="234.92197627419293"></omgdi:waypoint>
        <omgdi:waypoint x="276.0795409150174" y="265.0"></omgdi:waypoint>
        <omgdi:waypoint x="360.0" y="265.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-D23FC016-C67C-4A20-8A7B-844A4201C5E5" id="BPMNEdge_sid-D23FC016-C67C-4A20-8A7B-844A4201C5E5">
        <omgdi:waypoint x="274.95000000000005" y="178.0"></omgdi:waypoint>
        <omgdi:waypoint x="320.0" y="178.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-5EB06E3A-8672-4C2B-BBD6-6037016719A4" id="BPMNEdge_sid-5EB06E3A-8672-4C2B-BBD6-6037016719A4">
        <omgdi:waypoint x="459.95000000000005" y="400.0"></omgdi:waypoint>
        <omgdi:waypoint x="505.0" y="400.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-17300590-011C-4B62-BFE4-5F27ECA41F7D" id="BPMNEdge_sid-17300590-011C-4B62-BFE4-5F27ECA41F7D">
        <omgdi:waypoint x="218.91871448274125" y="121.5497790037233"></omgdi:waypoint>
        <omgdi:waypoint x="218.91871448274125" y="70.0"></omgdi:waypoint>
        <omgdi:waypoint x="359.9999999999776" y="70.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-E2EBA3F6-C771-4C0C-900C-4DD2F8A16C1A" id="BPMNEdge_sid-E2EBA3F6-C771-4C0C-900C-4DD2F8A16C1A">
        <omgdi:waypoint x="459.95000000000005" y="265.0"></omgdi:waypoint>
        <omgdi:waypoint x="505.0" y="265.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-635996BD-55AF-43D5-AAB2-3E7A8683F5EF" id="BPMNEdge_sid-635996BD-55AF-43D5-AAB2-3E7A8683F5EF">
        <omgdi:waypoint x="199.7126603774365" y="234.56363882020852"></omgdi:waypoint>
        <omgdi:waypoint x="199.7126603774365" y="400.0"></omgdi:waypoint>
        <omgdi:waypoint x="359.99999999999267" y="400.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-27BE6741-368D-4D4C-B2F5-A731C8B8191F" id="BPMNEdge_sid-27BE6741-368D-4D4C-B2F5-A731C8B8191F">
        <omgdi:waypoint x="129.9499984899576" y="178.0"></omgdi:waypoint>
        <omgdi:waypoint x="174.9999999999917" y="178.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>