distributed transaction waiting for lock

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

distributed transaction waiting for lock

Sargol
Hello
We have configured a distributed transaction in our application server and
we are using openjpa 1.2.1 and Glassfish application server. Although the default behavior of transaction locking must be optimistic,
it seems that pessimistic locking has been happened.
It is found that Row Lock contention happens in a specific table.
This is the exception :
java.sql.SQLException: ORA-02049: timeout: distributed transaction waiting for lock
Is there any property which has to be set related to XA transactions management for openjpa?
For your information, already all the following properties have been set.

1. <persistence-unit name="JPXA" transation-type="JTA"> 

2. <property name="openjpa.TransactionMode" value="managed"/> 

   You can try a plug-in string to lookup the TM in JNDI (the value is the JNDI name of GlassFish TM as per Google search)
3. <property name="openjpa.ManagedRuntime"    
             value="jndi(TransactionManagerName=java:appserver/TransactionManager)"/> 


Following searching about this locking problem, we found that we should add two more properties for openjpa as listed below.

<property name="openjpa.LockManager" value="version" /> 
<property name="openjpa.jdbc.TransactionIsolation" value="read-committed" /> 
 

but this time we have got another error: org.apache.openjpa.persistence.PersistenceException: ORA-02089: COMMIT is not allowed in a subordinate session.

Thanks for any help.

Regards,
Sargol