Exit criterion on repeatable task - CMMN [SOLVED]


#1

I don’t understand why i’m currently getting an error when completing a task (Approve) which needs to terminates [optionally] other created tasks (Test).

Some usefull info :

  • Exit criterion of Test, if Part Condition : ${true}
  • Entry criterion of Test, if Part Condition : ${requestInfo}
  • Entry criterion of MileStone Approved, if Part Condition : ${approved}
  • Stage has autocomplete

Tests :

  • Approve task with boolean approved = true with no Test instance --> success --> GOOO
  • Approve task with boolean approved = false with no Test instance --> success --> Nothing (complete)
  • Approve task with boolean approved = false with X Test instance --> success --> Nothing (complete)
  • Approve task with boolean approved = true with X Test instance --> error --> See below

An error happend while submitting the task form :
Cannot submit task form 4e7a83ed-26b8-11e8-872c-0021cc719365: ENGINE-03083 Exception while executing Batch Database Operations with message ’ ### Error flushing statements. Cause: org.apache.ibatis.executor.BatchExecutorException: org.camunda.bpm.engine.impl.cmmn.entity.runtime.CaseExecutionEntity.deleteCaseExecution (batch index #13) failed. 12 prior sub executor(s) completed successfully, but will be rolled back. Cause: java.sql.BatchUpdateException: ORA-02292: violation de contrainte (CBC.ACT_FK_TASK_CASE_EXE) d’intégrité - enregistrement fils existant ### Cause: org.apache.ibatis.executor.BatchExecutorException: org.camunda.bpm.engine.impl.cmmn.entity.runtime.CaseExecutionEntity.deleteCaseExecution (batch index #13) failed. 12 prior sub executor(s) completed successfully, but will be rolled back. Cause: java.sql.BatchUpdateException: ORA-02292: violation de contrainte (CBC.ACT_FK_TASK_CASE_EXE) d’intégrité - enregistrement fils existant java.sql.BatchUpdateException: ORA-02292: violation de contrainte (CBC.ACT_FK_TASK_CASE_EXE) d’intégrité - enregistrement fils existant java.sql.SQLIntegrityConstraintViolationException: ORA-02292: violation de contrainte (CBC.ACT_FK_TASK_CASE_EXE) d’intégrité - enregistrement fils existant '. Flush summary: [ INSERT HistoricVariableInstanceEntity[539e47df-26b8-11e8-872c-0021cc719365] INSERT UserOperationLogEntryEventEntity[53b0e585-26b8-11e8-872c-0021cc719365] INSERT UserOperationLogEntryEventEntity[55a93316-26b8-11e8-872c-0021cc719365] INSERT HistoricVariableUpdateEventEntity[539e47e1-26b8-11e8-872c-0021cc719365] INSERT HistoricTaskInstanceEventEntity[53adb133-26b8-11e8-872c-0021cc719365] INSERT HistoricIdentityLinkLogEventEntity[53adb134-26b8-11e8-872c-0021cc719365] INSERT HistoricCaseActivityInstanceEventEntity[53adb132-26b8-11e8-872c-0021cc719365] INSERT TaskEntity[53adb133-26b8-11e8-872c-0021cc719365] INSERT VariableInstanceEntity[539e47df-26b8-11e8-872c-0021cc719365] UPDATE CaseSentryPartEntity[4b7d9780-26b8-11e8-872c-0021cc719365] UPDATE CaseSentryPartEntity[4b7d9781-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b870d6d-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ede-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881edf-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ee0-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ee1-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ee2-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ee3-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ee4-26b8-11e8-872c-0021cc719365] DELETE CaseSentryPartEntity[4b881ee5-26b8-11e8-872c-0021cc719365] DELETE TaskEntity[4b953e49-26b8-11e8-872c-0021cc719365] DELETE TaskEntity[4e7a83ed-26b8-11e8-872c-0021cc719365] UPDATE CaseExecutionEntity[4b788e63-26b8-11e8-872c-0021cc719365] DELETE CaseExecutionEntity[4b870d6a-26b8-11e8-872c-0021cc719365] DELETE CaseExecutionEntity[4b870d6b-26b8-11e8-872c-0021cc719365] DELETE CaseExecutionEntity[4b870d6c-26b8-11e8-872c-0021cc719365] DELETE CaseExecutionEntity[4b953e48-26b8-11e8-872c-0021cc719365] DELETE CaseExecutionEntity[4b7d977d-26b8-11e8-872c-0021cc719365] UPDATE HistoricCaseActivityInstanceEventEntity[4b7d977d-26b8-11e8-872c-0021cc719365] UPDATE HistoricCaseActivityInstanceEventEntity[4b870d6a-26b8-11e8-872c-0021cc719365] UPDATE HistoricCaseActivityInstanceEventEntity[4b870d6b-26b8-11e8-872c-0021cc719365] UPDATE HistoricCaseActivityInstanceEventEntity[4b870d6c-26b8-11e8-872c-0021cc719365] UPDATE HistoricCaseActivityInstanceEventEntity[4b953e48-26b8-11e8-872c-0021cc719365] UPDATE HistoricTaskInstanceEventEntity[4b953e49-26b8-11e8-872c-0021cc719365] UPDATE HistoricTaskInstanceEventEntity[4e7a83ed-26b8-11e8-872c-0021cc719365] ]


#2

What was the solution?


#3

@thorben Here my different conditions :

  • Condition on exit criterion : ${true}
  • Condition on entry criterion :${requestInfo && !approved}
  • Repetition rule : ${!approved}

I assume the problem was my repetition rule condition which was set to true interfered with my entry criterion (requestinfo).

I hope it helps.


#4

Alright, thanks for sharing :slight_smile: