Compensation Boundary Event

Hi, we have а process:
image

If ut 2 goes to cancel then the exception is thrown:
PSQLException: ERROR: update or delete on table "act_ru_execution" violates foreign key constraint "act_fk_exe_parent" on table "act_ru_execution"
Can someone explain to me what is wrong here?

For completeing tasks we just call org.flowable.engine.TaskService#complete

### Error updating database.  Cause: org.postgresql.util.PSQLException: ERROR: update or delete on table "act_ru_execution" violates foreign key constraint "act_fk_exe_parent" on table "act_ru_execution"
  Details: Key (id_)=(dfbe5f15-45d5-11ee-bb2b-00ff4dc45791) is still referenced from table "act_ru_execution".
### The error may exist in org/flowable/db/mapping/entity/Execution.xml
### 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: org.postgresql.util.PSQLException: ERROR: update or delete on table "act_ru_execution" violates foreign key constraint "act_fk_exe_parent" on table "act_ru_execution"
  Details: Key (id_)=(dfbe5f15-45d5-11ee-bb2b-00ff4dc45791) is still referenced from table "act_ru_execution".
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.5.10.jar:3.5.10]
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:196) ~[mybatis-3.5.10.jar:3.5.10]
	at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:209) ~[mybatis-3.5.10.jar:3.5.10]
	at org.flowable.common.engine.impl.db.DbSqlSession.flushDeleteEntities(DbSqlSession.java:646) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.db.DbSqlSession.flushDeletes(DbSqlSession.java:603) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:370) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:212) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.CommandContext.close(CommandContext.java:70) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:114) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.8.0.jar:6.8.0]
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.28.jar:5.3.28]
	at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.TaskServiceImpl.complete(TaskServiceImpl.java:223) ~[flowable-engine-6.8.0.jar:6.8.0]

Flowable 6.8.0

Also I tried this:
image
after Compensation Intermediate Throwing Event ut 3 and ut 4 are active. But if try to complete ut 4 before ut 3 then same exception is thrown.