You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Kelvin Goodson (JIRA)" <tu...@ws.apache.org> on 2007/03/16 18:09:10 UTC

[jira] Resolved: (TUSCANY-1179) Race condition due to lazy metada initialization when SDO is shared across threads for read intent

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

Kelvin Goodson resolved TUSCANY-1179.
-------------------------------------

    Resolution: Fixed

committing the fix for this -- I'll close this JIRA and open another for the test case which will allow inclusion of the test case once the groboutils licensing issues are resolved

> Race condition due to lazy metada initialization when SDO is shared across threads for read intent
> --------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1179
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1179
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>         Environment: ALL
>            Reporter: Hasan Muhammad
>             Fix For: Java-SDO-Mx
>
>         Attachments: 1179.patch, CreateDataObjectMultiThreadedTestCase.java
>
>
> An a DataObject is being shared across multiple threads for read-only purpose ( no modification), due to lazy metadata initialization, we have a race condition which results in different exceptions at different times ( ConcurrentModificationException, NoSuchElementException). The following is one trace;
> java.util.ConcurrentModificationException
> 	at org.eclipse.emf.common.util.BasicEList$EIterator.checkModCount(BasicEList.java:1327)
> 	at org.eclipse.emf.common.util.BasicEList$EIterator.next(BasicEList.java:1275)
> 	at org.apache.tuscany.sdo.impl.ClassImpl.initAliasNames(ClassImpl.java:404)
> 	at org.apache.tuscany.sdo.impl.ClassImpl.getProperty(ClassImpl.java:423)
> 	at org.apache.tuscany.sdo.util.DataObjectUtil.get(DataObjectUtil.java:731)
> 	at org.apache.tuscany.sdo.impl.DataObjectImpl.get(DataObjectImpl.java:216)
> 	at org.apache.tuscany.sdo.impl.DataObjectImpl.getDataObject(DataObjectImpl.java:326)
> 	at org.apache.tuscany.sdo.test.CreateDataObjectMultiThreadedTestCase$CreateDataObjectMultiThread.runTest(CreateDataObjectMultiThreadedTestCase.java:67)
> 	at net.sourceforge.groboutils.junit.v1.TestRunnable.run(TestRunnable.java:154)
> 	at java.lang.Thread.run(Thread.java:797)
>  

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


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org