Hi,

  We have a system that executes processes inside a JBPM session which is persisted using JPA and Hibernate as entity manager .

  What we are suffering is locking inside JBPM in certain circumstances. What we experience is that the JBPM process gets locked when in a transaction to store it's internal state in  the database ( sessioninfo, processinstanceinfo, ... ). When locked PostgreSQL has a connection that is in state "idle in transation", this means that a transaction was open ( BEGIN ) and nobody did neither commit nor rollback. Both JBPM and PostgreSQL are waiting for something to happend that never comes. And there are ExclusiveLocks and RowExclusiveLocks available in the database ( different tables each time, sometimes pg_largeobject, sometimes others ).

  Our application that uses extensively JBPM is then locked and our users are unable to execute any operation. We even tried to solve the lock by killing the connection to the database, then the locks in the database dissappear but JBPM never recovers ( maybe died with the connection ).

  Has anyone seen something like this before?

Greets,


Alberto R. Galdo
argaldo@gmail.com