Violation of unique constraint : idx_uq_pending_mapping

Description

Bonjour,

Mon processus est assez complexe donc je ne peux vous donner de méthode afin de reproduire le bug.
Tout ce que je peux vous dire sur mon processus, c'est qu'il utilise des scripts groovy afin de faire avancer d'autres processus. J'utilise principalement la fonction apiAccessor.getProcessAPI().executeFlowNode(flownodeId); afin de les faire avancer et
apiAccessor.getProcessAPI().assignUserTask(userTaskId, userId) afin d'assigner les taches pour des questions de métadonnées.

Dans certains cas, je ne sais pas ce qui déclenche cette erreur, j'obtiens l'erreur suivante dans les logs de Bonita : Caused by: org.postgresql.util.PSQLException: ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « idx_uq_pending_mapping »

D'après ce que je comprends de l'exception, j'essaie d'assigner une tâche à une personne qui possède déjà la tache. Est-ce un bug ou est-ce à moi de vérifier que la tâche n'est pas assignée à cette même personne avant de l'assigner ?

J'ai éssayé de rajouter un test avant de l'assigner mais sans succès.
if(HumanTask.getAssigneeId() != userId)
{
apiAccessor.getProcessAPI().assignUserTask(userTaskId, userId)
}
apiAccessor.getProcessAPI().executeFlowNode(flownodeId);

Environment

PostgreSQL

External Link

None

Workaround

None

Assignee

Unassigned

Reporter

florian.baillagou

Affects versions

Reference

BS-14816

Fix versions

Configure