[ 
https://issues.apache.org/jira/browse/CAY-1487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrus Adamchik closed CAY-1487.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.5

I committed synchronization code to 2.0 branch. Appreciate if you could build 
it an give it a try. 


> Access to ObjectStore.objectMap not thread safe when creating new object 
> instance (and processing snaphot events)
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: CAY-1487
>                 URL: https://issues.apache.org/jira/browse/CAY-1487
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Core Library
>    Affects Versions: 2.0 branch
>            Reporter: Donald Vrakking
>             Fix For: 2.0.5
>
>
> The method ObjectStore.registerNode(..) is not synchronized, while 
> getNode(..) is. The objectMap can be accessed in a thread-unsafe way when a 
> new object instance is created and when at the same time snapshotevents are 
> processed.
> When creating the instance, the unsafe registerNode method is used. It will 
> start looping in the objectMap when at the same time when an EventDispatch 
> thread tries to acces the objectMap through getNode(). The dispatch threads 
> will go in a WAIT state which eventually results in a completely frozen 
> application.
> I noticed that in cayenne 3 the registerNode() method is synchronized. Can 
> such a fix also be applied to a cayenne 2.0.5 release?

-- 
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