End terminate event vs Timer on Task

cancel
Showing results for 
Search instead for 
Did you mean: 
zxu
Member II

End terminate event vs Timer on Task

Lets say you have two tasks running in parallel. Task#1 has a timer which cancel the task eventually. Task#2 has a timer which triggers a reminder but does not cancel the task. The branch of Task#1 eventually leads to an End terminate event which is intended to cancel the entire sub process.

An exception is thrown when the end terminate event is reached: 

Caused by: org.h2.jdbc.JdbcSQLException: Referential integrity constraint violation: "ACT_FK_EXE_PARENT: PUBLIC.ACT_RU_EXECUTION FOREIGN KEY(PARENT_ID_) REFERENCES PUBLIC.ACT_RU_EXECUTION(ID_) ('42')"; SQL statement:
delete from ACT_RU_EXECUTION where ID_ = ? and REV_ = ? [23503-197]

I believe it is because of the timer. It is true that this is can be solved by some script (e.g. complete the task in script before the end). But I wonder if there is a nicer/cleaner solution. 

Without the timer, no exception is thrown. 

version

org.activiti.core.common: 7.0.3

activiti-engine 7.0.50

Thanks in advance.