You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org> on 2007/02/21 16:31:05 UTC

[jira] Created: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Concurrent access to SDOUtil.createHelperContext() results in exception
-----------------------------------------------------------------------

                 Key: TUSCANY-1130
                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
             Project: Tuscany
          Issue Type: Bug
          Components: Java SDO Implementation
    Affects Versions: Java-M2
         Environment: All
            Reporter: Hasan Muhammad
             Fix For: Java-M2


In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.

Exception = java.util.ConcurrentModificationException
Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
probeid = 80
Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
        at java.util.HashMap.onExit(HashMap.java:217)
        at java.util.HashMap.transfer(HashMap.java:514)
        at java.util.HashMap.resize(HashMap.java:500)
        at java.util.HashMap.addEntry(HashMap.java:800)
        at java.util.HashMap.put(HashMap.java:441)
        at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
        at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
        at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
        at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
        at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
        at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
        at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
        at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
        at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)


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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Frank Budinsky (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Budinsky updated TUSCANY-1130:
------------------------------------

    Attachment: 1130.patch

Syncronizing the creation of SDOXSDEcoreBuilder should fix this. Please try the attached patch.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hasan Muhammad updated TUSCANY-1130:
------------------------------------

    Attachment: 1130.patch
                HelperContextMultiThreadedTestCase.java

Frank,

I agree that synching the HashMap would create performance problems. The problem seems to be only because multiple threads are accessing createHelperContext as you saw, since while defining the EMF types in the registry for the ExtendedMetaData, it gets delegated to parent registry which is global registry. But once these EMF types are defined (put for HashMap), the rest is all (get) and hence there is no problem after that. 

One fix would be to simply synch the SDOUtil.createHelperContext(). I made that fix in this patch. It works with the multiThreded Test case i have submitted. 

The test case depends on GroboUtils jar, which can be obtained from http://groboutils.sourceforge.net/, if you are interested in including into tuscany build. This is just a set of extension classes to JUnit which includes an extension class to build multi threaded testcases easily.

Hasan

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Kelvin Goodson (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kelvin Goodson updated TUSCANY-1130:
------------------------------------

    Fix Version/s:     (was: Java-M2)
                   Java-SDO-M3

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-SDO-M3
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hasan Muhammad updated TUSCANY-1130:
------------------------------------

    Attachment: 1130_final.patch

Aaah.. I didnt like one or two tabs that were too far away in the code that i patched up.. So i cleaned it and reattached the patch: 1130_final.patch

Hasan

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130_final.patch, 1130_new.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476498 ] 

Hasan Muhammad commented on TUSCANY-1130:
-----------------------------------------

Frank,

Funny after all this, i tested it with EMF 2.2.2, and found that the problem has been fixed in EMF itself, which is where it should be fixed anyways. They fixed it in the getType() for BasicExtendedMetaData. Since we depend on EMF 2.2.2 ( i am not sure about the revision that you committed ), i think if this revision depends on EMF 2.2.2, then you can remove this fix from the sdo code. I verified that testcase passes without our fix and with EMF 2.2.2.

Also, i am not sure whether anyone is testing multiThreaded testcases in SCA. That is why i am concerned about multiThreading issues, although we are planning to deal with them in the CTS testSuite, atleast for SDO.

Thanks, Hasan.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Kelvin Goodson (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kelvin Goodson updated TUSCANY-1130:
------------------------------------

    Patch Info:   (was: [Patch Available])

Turning off "patch available" pending resolution of Frank's concerns.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130_final.patch, 1130_new.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Kelvin Goodson (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kelvin Goodson updated TUSCANY-1130:
------------------------------------

    Patch Info: [Patch Available]

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130_final.patch, 1130_new.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Jean-Sebastien Delfino (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Sebastien Delfino updated TUSCANY-1130:
--------------------------------------------

    Patch Info: [Patch Available]

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474877 ] 

Hasan Muhammad commented on TUSCANY-1130:
-----------------------------------------

Frank,

I already tried that. It didnt seem to work at all which surprised me. Hence i got confused. Here is the rest of the exception just to let you know where it is coming from

at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)
	at org.apache.tuscany.databinding.sdo.ImportSDOLoader.load(ImportSDOLoader.java:75)
	at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistryImpl.java:84)
	at org.apache.tuscany.core.implementation.composite.CompositeLoader.load(CompositeLoader.java:91)
	at org.apache.tuscany.core.implementation.composite.CompositeLoader.load(CompositeLoader.java:65)
	at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistryImpl.java:84)
	at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistryImpl.java:102)
	at org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.loadFromSidefile(CompositeComponentTypeLoader.java:65)
	at org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.load(CompositeComponentTypeLoader.java:57)
	at org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.load(CompositeComponentTypeLoader.java:39)
	at org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(LoaderRegistryImpl.java:156)
	at org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:128)
	at org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.java:93)
	at org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(LauncherImpl.java:216)

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Kelvin Goodson (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476598 ] 

Kelvin Goodson commented on TUSCANY-1130:
-----------------------------------------

Hasan,
So to clarify,  if I understand correctly this JIRA may be resolved as "fixed elsewhere" or the like, after rolling back the commit made in  revision #512457 .  Is that correct?
Kelvin.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Resolved: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Frank Budinsky (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Budinsky resolved TUSCANY-1130.
-------------------------------------

    Resolution: Fixed

Rolled back above change. This is fixed in EMF 2.2.2.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Frank Budinsky (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12475066 ] 

Frank Budinsky commented on TUSCANY-1130:
-----------------------------------------

Hasan, why don't you start by figuring out exactly what shared model(s) the threads are competing for. One way to fix it is to make sure that one thread initializes the extendedmetadata before the others start. Maybe a finer-grain approach is possible (e.g., override SDOExtendedMetaData.getType to syncronize calls to it), but first we really need to understand where the problem is. What are the other threads doing, if not also creating the helper context?

Thanks,
Frank.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474900 ] 

Hasan Muhammad commented on TUSCANY-1130:
-----------------------------------------

My suspicion is that the access route to the hashmap is more than one. In that case synchronization of this method may not be enough. May be need to sync the map itself. But then that is EMF code.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Frank Budinsky (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476430 ] 

Frank Budinsky commented on TUSCANY-1130:
-----------------------------------------

Thanks Hasan,

I think it would be a little better to synchronize the creation of SDOXSDEcoreBuilder in XSDHelperImpl (instead of SDOUtil.createHelperContext), since that's the specific area of the concurrency problem. I committed the fix in revision 512457, but haven't tried to run the test. Could you please verify that it fixes the problem your seeing?

I don't know if we should add the GroboUtils.jar dependency to the project. Does anybody know if the SCA project does multi-threaded testing?

Thanks,
Frank.


> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130.patch, 1130_final.patch, 1130_new.patch, HelperContextMultiThreadedTestCase.java
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Commented: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Frank Budinsky (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12475247 ] 

Frank Budinsky commented on TUSCANY-1130:
-----------------------------------------

Hasan,

I have 2 concerns with this fix:

1) The performance - isn't synchronized hashmap slow?
2) We still don't know what the other colliding threads are doing, if not also creating helper contexts? Looking at the code, the XSDExtendedMetaData constructor is supposed to be initializing the map, so I wonder what's going on that would result in another path into it.

Frank.

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130_final.patch, 1130_new.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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


[jira] Updated: (TUSCANY-1130) Concurrent access to SDOUtil.createHelperContext() results in exception

Posted by "Hasan Muhammad (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hasan Muhammad updated TUSCANY-1130:
------------------------------------

    Attachment: 1130_new.patch

Frank,

I have attached a patch which basically overwrites the EPackageExtendedMetaData.getType() in SDOExtendedMetaDataImpl. All it does in the method is obtain a synchronized hashmap. I did not see your comment until now, so i have not explored the option of synchronizing the part where the threads create the ExtendedMetaData in the first place.

However i think this approach is better, since it synchronizes the map itself which fixes the problem at the core. Let me know.

Hasan

> Concurrent access to SDOUtil.createHelperContext() results in exception
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-1130
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1130
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>             Fix For: Java-M2
>
>         Attachments: 1130.patch, 1130_new.patch
>
>
> In tuscany runtime, when multiple apps are started simultaneously, we get an exception as below: This is a problem with acessing SDOUtil.createHelperContext(0 concurrently.
> Exception = java.util.ConcurrentModificationException
> Source = com.ibm.ws.soa.sca.admin.config.loader.SDOLoader.<INIT>
> probeid = 80
> Stack Dump = java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[server.startup : 2,5,main]
>         at java.util.HashMap.onExit(HashMap.java:217)
>         at java.util.HashMap.transfer(HashMap.java:514)
>         at java.util.HashMap.resize(HashMap.java:500)
>         at java.util.HashMap.addEntry(HashMap.java:800)
>         at java.util.HashMap.put(HashMap.java:441)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData$EPackageExtendedMetaDataImpl.getType(BasicExtendedMetaData.java:2064)
>         at com.ibm.sdo.internal.ecore.util.BasicExtendedMetaData.getType(BasicExtendedMetaData.java:115)
>         at com.ibm.sdo.internal.xsd.ecore.XSDEcoreBuilder.populateTypeToTypeObjectMap(XSDEcoreBuilder.java:108)
>         at org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.<init>(SDOXSDEcoreBuilder.java:61)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:79)
>         at org.apache.tuscany.sdo.helper.XSDHelperImpl.<init>(XSDHelperImpl.java:94)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:48)
>         at org.apache.tuscany.sdo.helper.HelperContextImpl.<init>(HelperContextImpl.java:52)
>         at org.apache.tuscany.sdo.util.SDOUtil.createHelperContext(SDOUtil.java:299)

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