openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Albert Lee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OPENJPA-2257) Concurreny in org.apache.openjpa.persistence.EntityManagerImpl.getProperties leads to NullPointer and ConcurrentModificationException
Date Wed, 05 Sep 2012 18:34:07 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-2257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13448979#comment-13448979
] 

Albert Lee commented on OPENJPA-2257:
-------------------------------------

The problem is caused by the assumption that the configurationImpl obtained from emf is threadsafe
since all the configuration values are frozen once the emf is created. However the broker
getProperty() implementation defers the building up of the property key collection (_supportedKeys)
in the configurationImpl when it is needed, but the _supportedKeys is not synchronized( thread
safe), hence the observed exceptions.
                
> Concurreny in org.apache.openjpa.persistence.EntityManagerImpl.getProperties leads to
NullPointer and ConcurrentModificationException
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2257
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2257
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 2.1.2
>         Environment: AIX 6.1 (64-bit)
> WebSphere Application Server V8.0 (32-bit) 
>            Reporter: Stephan Hagedorn
>              Labels: concurrency, concurrentmodificationexception, nullpointerexception
>         Attachments: OpenJPABugTest.zip
>
>
> A call of EntityManager.getProperties() can lead to NullPointer and ConcurrentModificationException.
Issue occurs right after start up of the overlying JEE application if multiple EntityManager
instance are created at same time.
> Please find the issued stack trace below:
> Caused by: java.lang.NullPointerException
>         at java.lang.String.compareTo(String.java:482)
>         at java.lang.String.compareTo(String.java:31)
>         at java.util.TreeMap.cmp(TreeMap.java:4514)
>         at java.util.TreeMap.putImpl(TreeMap.java:4556)
>         at java.util.TreeMap.put(TreeMap.java:4536)
>         at java.util.TreeSet.add(TreeSet.java:122)
>         at
> org.apache.openjpa.lib.conf.ConfigurationImpl.getPropertyKeys(ConfigurationImpl.java:708)
>         at
> org.apache.openjpa.kernel.BrokerImpl.getSupportedProperties(BrokerImpl.java:729)
>         at
> org.apache.openjpa.kernel.DelegatingBroker.getSupportedProperties(DelegatingBroker.java:223)
>         at
> org.apache.openjpa.persistence.EntityManagerImpl.getProperties(EntityManagerImpl.java:1624)
>         ... 33 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message