Le problème vient du verrou partagé. Par défaut, la méthode createJobExecution s'exécute dans la transaction avec un niveau d'isolement sérialisable. Lorsque ce niveau d'isolement est utilisé, InnoDB convertit implicitement toutes les instructions SELECT simples en SELECT ... LOCK IN SHARE MODE. Par conséquent, JOB_INST_UN est verrouillé partagé en raison d'une requête sur la table d'instance. Et puis, lors de l'insertion d'une instance de travail, un verrou exclusif sur JOB_INST_UN est requis. Un interblocage est apparu, si cet index unique était verrouillé partagé par une autre transaction.