[ 
https://issues.apache.org/jira/browse/OPENJPA-453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12725820#action_12725820
 ] 

Ravi P Palacherla commented on OPENJPA-453:
-------------------------------------------

Started looking into the issue on openJPA trunk.

The cause of the deadlock issue on trunk is as follows:

Thread0 takes a reentrant lock inside BrokerImpl  and waits to acquire 
reentrant  lock inside statemanagerImpl.
Thread1 takes a reentrant  lock inside StatemanagerImpl and waits to acquire 
reentrant lock inside BrokerImpl.

When I add debug to lock of both BrokerImpl and StateManagerImpl, here is what 
I see:

[java] Thread-0 Locked java.util.concurrent.locks.reentrantl...@11410e5[locked 
by thread Thread-0] 
       inside SMImpl org.apache.openjpa.kernel.statemanageri...@61373f
[java] Thread-0 trying to lock 
java.util.concurrent.locks.reentrantl...@402af3[locked by thread Thread-1] 
       inside brokerImpl org.apache.openjpa.kernel.finalizingbrokeri...@b3319f

[java] Thread-1 Locked java.util.concurrent.locks.reentrantl...@402af3[locked 
by thread Thread-1] 
       inside brokerImpl org.apache.openjpa.kernel.finalizingbrokeri...@b3319f
[java] Thread-1 trying to lock 
java.util.concurrent.locks.reentrantl...@11410e5[locked by thread Thread-0] 
       inside SMImpl org.apache.openjpa.kernel.statemanageri...@61373f    

I will continue my research and update the post as soon as I have a resolution 
plan in place.

> Evicting embedded object nullifies statemanager
> -----------------------------------------------
>
>                 Key: OPENJPA-453
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-453
>             Project: OpenJPA
>          Issue Type: Bug
>         Environment: Kodo 4.1.4, Ms sql server 2005, jTDS 1.2, jdk 1.6
>            Reporter: Christiaan
>            Assignee: Ravi P Palacherla
>         Attachments: OpenJPABug453Embedded.zip, openJPATestCase.zip, 
> TestCaseEvictEmbedded.zip
>
>
> I am noticing the following behaviour: If evict() is called on an embedded
> object the statemanager is nullified which is in contrast to non-embedded
> objects. Subsequently, calling JDOHelper.getPersistenceManager() on the
> evicted embedded object returns null. Is this the correct behaviour?

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

Reply via email to