-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
None
-
None
-
None
-
False
-
False
-
-
-
-
-
-
Undefined
-
---
-
---
-
When trying to perform bulk task operation(start/complete) then it fails with below exception:
2020-07-28 15:01:35,221 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-1282) SQL Error: -803, SQLState: 23505 2020-07-28 15:01:35,221 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-1282) DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;$SCHEMA_NAME.ORGANIZATIONALENTITY, DRIVER=4.19.66 2020-07-28 15:01:35,222 WARN [org.jbpm.services.task.persistence.TaskTransactionInterceptor] (default task-1282) Could not commit session: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
This issue occurs when task operation is performed by new users in parallel by multiple threads. This issue can be avoided by these two options:
Update the database with this new user entry before the bulk task operation
Complete a single task operation request first and then send the rest of the requests in parallel.
[NOTE ENG](Not related to sync tables)
I give some thought how to fix the issure related to Duplicated entity (race condition problem regarding saving org entities in the database.
There is a way to serialize this with JMS would be to add a special queue to save this org entities outside the current transaction and before starting the task (we can a hidden action node prior the human task in charge of this, causing an async execution of the human task.
[Start]> [Task] > [End]
Would be transformed to:
[Start]> [user save action node; hidden node] > [task; async=true] > [end]
1) The user save action would send the org entities to a queue with a correlation key
2) the MDB would retrieve that info a save it to the databasse
3) it will be send back with a correlation key
4) continue workflow.
- is documented by
-
BXMSDOC-7083 Document runtime users for user tasks
- Open
- relates to
-
RHPAM-3145 Task table is not in sync with TaskEvent table.
- Closed