cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Donald Vrakking (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAY-1487) Access to ObjectStore.objectMap not thread safe when creating new object instance (and processing snaphot events)
Date Mon, 18 Oct 2010 13:22:25 GMT

    [ https://issues.apache.org/jira/browse/CAY-1487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922067#action_12922067
] 

Donald Vrakking commented on CAY-1487:
--------------------------------------

I don't see us upgrading to 3.x on the short term. It will require some (re)engineering effort.

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


Mime
View raw message