Cannot complete execution / migrate / delete process instance


#1

Hi,
After a migration of running processes to a new version (with minor changes: added a path to an existing exclusive gateway), I started seeing deadletter jobs on a timer job that failed. The error is:

org.apache.ibatis.exceptions.PersistenceException:
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`flowable`.`ACT_RU_EVENT_SUBSCR`, CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))
### The error may involve org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.deleteExecution-Inline
### The error occurred while setting parameters
### SQL: delete from ACT_RU_EXECUTION where ID_ = ? and REV_ = ?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`flowable`.`ACT_RU_EVENT_SUBSCR`, CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))
        at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:200) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:213) ~[mybatis-3.4.6.jar:3.4.6]
        at org.flowable.common.engine.impl.db.DbSqlSession.flushDeleteEntities(DbSqlSession.java:569) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.db.DbSqlSession.flushDeletes(DbSqlSession.java:526) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:293) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:191) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.interceptor.CommandContext.close(CommandContext.java:61) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:80) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:49) ~[flowable-spring-common-6.4.0.jar:6.4.0]
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.0.9.RELEASE.jar:5.0.9.RELEASE]
        at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:46) ~[flowable-spring-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.4.0.jar:6.4.0]
        at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:128) [flowable-job-service-6.4.0.jar:6.4.0]
        at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:116) [flowable-job-service-6.4.0.jar:6.4.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_181]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_181]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`flowable`.`ACT_RU_EVENT_SUBSCR`, CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_181]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_181]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_181]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_181]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2490) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197) ~[mysql-connector-java-5.1.42-bin.jar:5.1.42]
        at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) ~[HikariCP-2.7.9.jar:?]
        at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) ~[HikariCP-2.7.9.jar:?]
        at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:46) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) ~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198) ~[mybatis-3.4.6.jar:3.4.6]
        ... 18 more

Trying to delete the process instance gives a similar error message, as well as migrating it to the previous version or to a newer version.

2019-02-19 11:41:28.825  WARN 28871 --- [o-8009-exec-166] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.flowable.ui.common.service.exception.BadRequestException:
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`flowable`.`ACT_RU_EVENT_SUBSCR`, CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))
### The error may involve org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.deleteExecution-Inline
### The error occurred while setting parameters
### SQL: delete from ACT_RU_EXECUTION where ID_ = ? and REV_ = ?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`flowable`.`ACT_RU_EVENT_SUBSCR`, CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))]~

Anyone an idea how to solve this?
Regards,
Wim


#2

Hi Wim,

Are you using the process instance migration api for this? Is it possible to create a unit test showing the issue?

Best regards,

Tijs


#3

HI @tijs, I migrated with some script like below that I ran via the debug mode. The processes migrated correctly (in that no error has been generated, and the version has been updated).

migrateToDef = "processdef:27:8c354f2f-3033-11e9-8020-005056904adb";
processDefName= "processdef"
processInstances = runtimeService.createProcessInstanceQuery().processDefinitionName(processDefName).list();

for (var i=0; i<processInstances.size(); i++)
{
	
	print("checking process to migrate: "+processInstances[i].getId());
	
	validationResult = runtimeService.createProcessInstanceMigrationBuilder()
		.migrateToProcessDefinition(migrateToDef)
		.validateMigration(processInstances[i].getId());
		
	print(validationResult.isMigrationValid());

	runtimeService.createProcessInstanceMigrationBuilder()
			.migrateToProcessDefinition(migrateToDef)
			.migrate(processInstances[i].getId());
}

#4

some of the processes that have been migrated under the same condtions do seem to be working fine


#5

deleting the timer deadletterjob does not allow the deletion of the process :frowning:


#6

Hi @tijs,
Is there a (safe) procedure to remove the failing processes in the database? I can recreate them afterwards, so that should solve (work-around) my problem.
Tnx,
Wim


#7

Looks like it is not caused by the migration, but by something else. Still need to pinpoint what exactly.
I have started some new instances of the process, and they ended up having the same issue of deadletter jobs.


#8

I managed to make a simple process that has the same behavior. It’s a reduced process that I have been using. Basically, it uses signals to trigger a sub-process that is being called on several occasions. This subprocess runs a http-task.

The problem can be simulated by moving the timer job 2 times. First time, it goes OK. 2nd time we move the timer job, it goes wrong. Same behavior if we just let the timer do its job: 1st round OK, 2nd round NOK.

The simple solution is to make the http-task asynchronous. But it should not lead to a situation where the process is “dead”: job can no longer be executed, process can’t be terminated, …

<?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://flowable.org/test">
  <signal id="get" name="get" flowable:scope="processInstance"></signal>
  <signal id="receive" name="receive" flowable:scope="processInstance"></signal>
  <message id="someMsg" name="someMsg"></message>
  <process id="TestProcess" name="Test Process" isExecutable="true">
    <eventBasedGateway id="sid-96BBB372-11F6-44CB-89BB-063FC0498442"></eventBasedGateway>
    <intermediateCatchEvent id="sid-9FE344E1-2643-4A7F-8A50-DDE532DBC2BE" name="some msg">
      <messageEventDefinition messageRef="someMsg"></messageEventDefinition>
    </intermediateCatchEvent>
    <endEvent id="sid-11C519A7-FADD-4E17-8311-DDC1D6F828DA"></endEvent>
    <exclusiveGateway id="sid-AAB5DED2-9ED2-4031-93F9-012D43D709CC"></exclusiveGateway>
    <sequenceFlow id="sid-4E5BC7FA-EB71-40A5-B678-12EBDF23D39A" sourceRef="sid-9FE344E1-2643-4A7F-8A50-DDE532DBC2BE" targetRef="sid-11C519A7-FADD-4E17-8311-DDC1D6F828DA"></sequenceFlow>
    <intermediateThrowEvent id="sid-2FFF8481-3651-479F-A6DF-AFEA97CA2B07" name="get">
      <signalEventDefinition signalRef="get"></signalEventDefinition>
    </intermediateThrowEvent>
    <intermediateCatchEvent id="sid-4DA61329-6306-4799-9BA9-DFF6D613E47B" name="receive">
      <signalEventDefinition signalRef="receive"></signalEventDefinition>
    </intermediateCatchEvent>
    <intermediateThrowEvent id="sid-74CDB10C-B9B7-44EC-A0D7-1379F0455E7B" name="get">
      <signalEventDefinition signalRef="get"></signalEventDefinition>
    </intermediateThrowEvent>
    <intermediateCatchEvent id="sid-6BE367C3-B94A-4AD2-84ED-16868511948A" name="receive">
      <signalEventDefinition signalRef="receive"></signalEventDefinition>
    </intermediateCatchEvent>
    <sequenceFlow id="sid-2DDD3906-F864-40CF-9102-59E1180B34E9" sourceRef="sid-96BBB372-11F6-44CB-89BB-063FC0498442" targetRef="sid-9FE344E1-2643-4A7F-8A50-DDE532DBC2BE"></sequenceFlow>
    <sequenceFlow id="sid-792DB53B-1D6E-4D8C-A7EE-488EB16A114B" sourceRef="sid-96BBB372-11F6-44CB-89BB-063FC0498442" targetRef="sid-B8388115-B539-48C4-8371-F933C7E32313"></sequenceFlow>
    <sequenceFlow id="sid-C0A7EC10-D3F1-48C3-BB3B-BCD50C437833" sourceRef="sid-74CDB10C-B9B7-44EC-A0D7-1379F0455E7B" targetRef="sid-6BE367C3-B94A-4AD2-84ED-16868511948A"></sequenceFlow>
    <sequenceFlow id="sid-3A7C57C0-305C-4D03-8B1E-033A8E5F9959" sourceRef="sid-6BE367C3-B94A-4AD2-84ED-16868511948A" targetRef="sid-AAB5DED2-9ED2-4031-93F9-012D43D709CC"></sequenceFlow>
    <sequenceFlow id="sid-D1352002-D121-4AC5-99A4-C9854FD0DF18" sourceRef="sid-B8388115-B539-48C4-8371-F933C7E32313" targetRef="sid-74CDB10C-B9B7-44EC-A0D7-1379F0455E7B"></sequenceFlow>
    <intermediateCatchEvent id="sid-B8388115-B539-48C4-8371-F933C7E32313" name="every 5 min">
      <timerEventDefinition>
        <timeDuration>PT1M</timeDuration>
      </timerEventDefinition>
    </intermediateCatchEvent>
    <subProcess id="sid-E7B4D065-54C3-4BF0-9E9D-33E6A161EC22" name="subProcess" triggeredByEvent="true">
      <startEvent id="sid-4C0EF412-2E3F-4D36-BBF3-C3E501868B9A" isInterrupting="false">
        <signalEventDefinition signalRef="get"></signalEventDefinition>
      </startEvent>
      <intermediateThrowEvent id="sid-B984C9C7-5B21-4A92-B788-EC6ABA0A6382">
        <signalEventDefinition signalRef="receive"></signalEventDefinition>
      </intermediateThrowEvent>
      <serviceTask id="sid-EDFF286F-5680-4189-9A92-1A2DF7F1B091" name="check something online" flowable:type="http">
        <extensionElements>
          <flowable:field name="requestMethod">
            <flowable:string><![CDATA[GET]]></flowable:string>
          </flowable:field>
          <flowable:field name="requestUrl">
            <flowable:string><![CDATA[https://jsonplaceholder.typicode.com/]]></flowable:string>
          </flowable:field>
          <flowable:field name="requestHeaders">
            <flowable:string><![CDATA[Content-Type: application/json]]></flowable:string>
          </flowable:field>
          <flowable:field name="saveResponseParametersTransient">
            <flowable:string><![CDATA[true]]></flowable:string>
          </flowable:field>
        </extensionElements>
      </serviceTask>
      <sequenceFlow id="sid-DEC07179-8A4D-4839-8DC7-A8A7F0730471" sourceRef="sid-4C0EF412-2E3F-4D36-BBF3-C3E501868B9A" targetRef="sid-EDFF286F-5680-4189-9A92-1A2DF7F1B091"></sequenceFlow>
      <sequenceFlow id="sid-9A8F18F8-A85B-4361-B5EE-986E804C08E9" sourceRef="sid-EDFF286F-5680-4189-9A92-1A2DF7F1B091" targetRef="sid-B984C9C7-5B21-4A92-B788-EC6ABA0A6382"></sequenceFlow>
    </subProcess>
    <startEvent id="sid-292BEC3E-14AE-4EC5-892D-F5E71FACB1CB"></startEvent>
    <sequenceFlow id="sid-D55B0771-2DC6-4442-AC11-F18BA3C30CE7" sourceRef="sid-292BEC3E-14AE-4EC5-892D-F5E71FACB1CB" targetRef="sid-2FFF8481-3651-479F-A6DF-AFEA97CA2B07"></sequenceFlow>
    <sequenceFlow id="sid-FD1BE8EF-D3EB-41CC-AD9D-3CD40CF5FBDD" sourceRef="sid-2FFF8481-3651-479F-A6DF-AFEA97CA2B07" targetRef="sid-4DA61329-6306-4799-9BA9-DFF6D613E47B"></sequenceFlow>
    <sequenceFlow id="sid-78A0D32A-F075-40F0-85DE-496E61E7C0CA" sourceRef="sid-4DA61329-6306-4799-9BA9-DFF6D613E47B" targetRef="sid-AAB5DED2-9ED2-4031-93F9-012D43D709CC"></sequenceFlow>
    <sequenceFlow id="sid-82CAB5BE-8642-4283-A914-836E056D0677" sourceRef="sid-AAB5DED2-9ED2-4031-93F9-012D43D709CC" targetRef="sid-96BBB372-11F6-44CB-89BB-063FC0498442"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_TestProcess">
    <bpmndi:BPMNPlane bpmnElement="TestProcess" id="BPMNPlane_TestProcess">
      <bpmndi:BPMNShape bpmnElement="sid-96BBB372-11F6-44CB-89BB-063FC0498442" id="BPMNShape_sid-96BBB372-11F6-44CB-89BB-063FC0498442">
        <omgdc:Bounds height="40.0" width="40.0" x="645.0" y="625.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-9FE344E1-2643-4A7F-8A50-DDE532DBC2BE" id="BPMNShape_sid-9FE344E1-2643-4A7F-8A50-DDE532DBC2BE">
        <omgdc:Bounds height="30.0" width="30.0" x="750.0" y="630.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-11C519A7-FADD-4E17-8311-DDC1D6F828DA" id="BPMNShape_sid-11C519A7-FADD-4E17-8311-DDC1D6F828DA">
        <omgdc:Bounds height="28.0" width="28.0" x="990.0" y="631.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-AAB5DED2-9ED2-4031-93F9-012D43D709CC" id="BPMNShape_sid-AAB5DED2-9ED2-4031-93F9-012D43D709CC">
        <omgdc:Bounds height="40.0" width="40.0" x="525.0" y="625.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-2FFF8481-3651-479F-A6DF-AFEA97CA2B07" id="BPMNShape_sid-2FFF8481-3651-479F-A6DF-AFEA97CA2B07">
        <omgdc:Bounds height="30.0" width="30.0" x="360.0" y="630.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-4DA61329-6306-4799-9BA9-DFF6D613E47B" id="BPMNShape_sid-4DA61329-6306-4799-9BA9-DFF6D613E47B">
        <omgdc:Bounds height="30.0" width="30.0" x="440.0" y="630.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-74CDB10C-B9B7-44EC-A0D7-1379F0455E7B" id="BPMNShape_sid-74CDB10C-B9B7-44EC-A0D7-1379F0455E7B">
        <omgdc:Bounds height="30.0" width="30.0" x="650.0" y="450.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-6BE367C3-B94A-4AD2-84ED-16868511948A" id="BPMNShape_sid-6BE367C3-B94A-4AD2-84ED-16868511948A">
        <omgdc:Bounds height="30.0" width="30.0" x="650.0" y="375.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-B8388115-B539-48C4-8371-F933C7E32313" id="BPMNShape_sid-B8388115-B539-48C4-8371-F933C7E32313">
        <omgdc:Bounds height="31.0" width="31.0" x="649.5" y="525.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-E7B4D065-54C3-4BF0-9E9D-33E6A161EC22" id="BPMNShape_sid-E7B4D065-54C3-4BF0-9E9D-33E6A161EC22">
        <omgdc:Bounds height="181.37001177403317" width="369.1051355596337" x="246.3041983248645" y="738.1033791000859"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-4C0EF412-2E3F-4D36-BBF3-C3E501868B9A" id="BPMNShape_sid-4C0EF412-2E3F-4D36-BBF3-C3E501868B9A">
        <omgdc:Bounds height="30.0" width="30.0" x="328.6530433143203" y="809.6747620819921"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-B984C9C7-5B21-4A92-B788-EC6ABA0A6382" id="BPMNShape_sid-B984C9C7-5B21-4A92-B788-EC6ABA0A6382">
        <omgdc:Bounds height="30.0" width="30.0" x="555.0" y="810.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-EDFF286F-5680-4189-9A92-1A2DF7F1B091" id="BPMNShape_sid-EDFF286F-5680-4189-9A92-1A2DF7F1B091">
        <omgdc:Bounds height="80.0" width="100.0" x="405.0" y="785.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-292BEC3E-14AE-4EC5-892D-F5E71FACB1CB" id="BPMNShape_sid-292BEC3E-14AE-4EC5-892D-F5E71FACB1CB">
        <omgdc:Bounds height="30.0" width="30.0" x="270.0" y="630.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="sid-792DB53B-1D6E-4D8C-A7EE-488EB16A114B" id="BPMNEdge_sid-792DB53B-1D6E-4D8C-A7EE-488EB16A114B">
        <omgdi:waypoint x="665.0" y="625.0"></omgdi:waypoint>
        <omgdi:waypoint x="665.0" y="555.949942441979"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-C0A7EC10-D3F1-48C3-BB3B-BCD50C437833" id="BPMNEdge_sid-C0A7EC10-D3F1-48C3-BB3B-BCD50C437833">
        <omgdi:waypoint x="665.0" y="450.0"></omgdi:waypoint>
        <omgdi:waypoint x="665.0" y="404.9499474681799"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-DEC07179-8A4D-4839-8DC7-A8A7F0730471" id="BPMNEdge_sid-DEC07179-8A4D-4839-8DC7-A8A7F0730471">
        <omgdi:waypoint x="358.60296029637465" y="824.7184301627433"></omgdi:waypoint>
        <omgdi:waypoint x="404.99999999997124" y="824.8539529378759"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-82CAB5BE-8642-4283-A914-836E056D0677" id="BPMNEdge_sid-82CAB5BE-8642-4283-A914-836E056D0677">
        <omgdi:waypoint x="564.9416944213154" y="645.0"></omgdi:waypoint>
        <omgdi:waypoint x="645.0" y="645.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-78A0D32A-F075-40F0-85DE-496E61E7C0CA" id="BPMNEdge_sid-78A0D32A-F075-40F0-85DE-496E61E7C0CA">
        <omgdi:waypoint x="469.9499977447223" y="645.0"></omgdi:waypoint>
        <omgdi:waypoint x="525.0" y="645.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-2DDD3906-F864-40CF-9102-59E1180B34E9" id="BPMNEdge_sid-2DDD3906-F864-40CF-9102-59E1180B34E9">
        <omgdi:waypoint x="684.9400349650348" y="645.0"></omgdi:waypoint>
        <omgdi:waypoint x="750.0" y="645.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-FD1BE8EF-D3EB-41CC-AD9D-3CD40CF5FBDD" id="BPMNEdge_sid-FD1BE8EF-D3EB-41CC-AD9D-3CD40CF5FBDD">
        <omgdi:waypoint x="389.9499971460684" y="645.0"></omgdi:waypoint>
        <omgdi:waypoint x="440.0" y="645.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-4E5BC7FA-EB71-40A5-B678-12EBDF23D39A" id="BPMNEdge_sid-4E5BC7FA-EB71-40A5-B678-12EBDF23D39A">
        <omgdi:waypoint x="779.9499996799659" y="645.0"></omgdi:waypoint>
        <omgdi:waypoint x="990.0" y="645.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-3A7C57C0-305C-4D03-8B1E-033A8E5F9959" id="BPMNEdge_sid-3A7C57C0-305C-4D03-8B1E-033A8E5F9959">
        <omgdi:waypoint x="665.0" y="375.0"></omgdi:waypoint>
        <omgdi:waypoint x="665.0" y="295.0"></omgdi:waypoint>
        <omgdi:waypoint x="545.0" y="295.0"></omgdi:waypoint>
        <omgdi:waypoint x="545.0" y="625.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-D1352002-D121-4AC5-99A4-C9854FD0DF18" id="BPMNEdge_sid-D1352002-D121-4AC5-99A4-C9854FD0DF18">
        <omgdi:waypoint x="665.0" y="525.0"></omgdi:waypoint>
        <omgdi:waypoint x="665.0" y="479.9499472952633"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-D55B0771-2DC6-4442-AC11-F18BA3C30CE7" id="BPMNEdge_sid-D55B0771-2DC6-4442-AC11-F18BA3C30CE7">
        <omgdi:waypoint x="299.9499977447223" y="645.0"></omgdi:waypoint>
        <omgdi:waypoint x="360.0" y="645.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-9A8F18F8-A85B-4361-B5EE-986E804C08E9" id="BPMNEdge_sid-9A8F18F8-A85B-4361-B5EE-986E804C08E9">
        <omgdi:waypoint x="504.9499999998728" y="825.0"></omgdi:waypoint>
        <omgdi:waypoint x="555.0" y="825.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>