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