openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Wokusch (JIRA)" <>
Subject [jira] Created: (OPENJPA-1716) Deadlock with openjpa.Multithreaded=true
Date Fri, 02 Jul 2010 02:04:50 GMT
Deadlock with openjpa.Multithreaded=true

                 Key: OPENJPA-1716
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 2.0.0, 2.0.0-beta3, 2.0.0-beta2, 2.0.0-beta, 2.0.0-M3, 2.0.0-M2, 2.0.0-M1
            Reporter: Stefan Wokusch

There is a Deadlock by using Multithreaded=true and work with some Threads on the same Entitymanager.

After many hours of debugging, i found a solution for that Deadlock: The Problem could be
solved by adding another lock into the lock Method of the StateManagerImpl:
StateManagerImpl ~line3308
     * Lock the state manager if the multithreaded option is set.
    protected void lock() {
        if (_instanceLock != null){
        	_broker.lock();//<- This is the new Part to fix the Deadlock

Worked for me without Problems for a long time.

Some other Configurations:
<persistence xmlns=""
	xmlns:xsi="" version="1.0">
	<persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
			<property name="openjpa.OrphanedKeyAction" value="log(Channel=Orphans, Level=TRACE)"

			<property name="openjpa.ConnectionFactoryProperties" value="PrettyPrint=true, PrettyPrintLineLength=80"

			<property name="openjpa.Multithreaded" value="true" />
			<property name="openjpa.InverseManager" value="true" />
			<property name="openjpa.LockManager" value="none" />
			<property name="openjpa.WriteLockLevel" value="none" />
			<property name="openjpa.Compatibility" value="
			" />

			<property name="openjpa.DetachState" value="fetch-groups" />

			<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />

			<!-- Default DataSource -->
			<property name="openjpa.ConnectionURL" value="jdbc:h2:db/test" />
			<property name="openjpa.ConnectionDriverName" value="org.h2.Driver" />

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message