[
https://issues.jboss.org/browse/ISPN-1546?page=com.atlassian.jira.plugin....
]
Vladimir Blagojevic commented on ISPN-1546:
-------------------------------------------
Sanne & Manik, I looked around a bit and I thought why not use plain
ConcurrentHashMap? It has snapshot iterators that never throw
ConcurrentModificationException, concurrency would not suffer terribly so we are all good
aren't we?
FineGrainedAtomicMap key and value iterators are not threadsafe
---------------------------------------------------------------
Key: ISPN-1546
URL:
https://issues.jboss.org/browse/ISPN-1546
Project: Infinispan
Issue Type: Bug
Components: Core API, Locking and Concurrency
Reporter: Sanne Grinovero
Assignee: Vladimir Blagojevic
Invoking #keySet() or #values() might fail, even when using a transaction to isolate
threads:
{code}
java.util.ConcurrentModificationException
at
org.infinispan.util.FastCopyHashMap$FasyCopyHashMapIterator.nextEntry(FastCopyHashMap.java:484)
at org.infinispan.util.FastCopyHashMap$KeyIterator.next(FastCopyHashMap.java:560)
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
at
org.infinispan.atomic.FineGrainedAtomicHashMapProxy.keySet(FineGrainedAtomicHashMapProxy.java:104)
at
org.hibernate.ogm.dialect.infinispan.InfinispanAssociationSnapshot.getRowKeys(InfinispanAssociationSnapshot.java:59)
at org.hibernate.ogm.datastore.spi.Association.getKeys(Association.java:132)
at org.hibernate.ogm.loader.OgmLoader.getResultSet(OgmLoader.java:420)
at org.hibernate.ogm.loader.OgmLoader.doQuery(OgmLoader.java:248)
at
org.hibernate.ogm.loader.OgmLoader.doQueryAndInitializeNonLazyCollections(OgmLoader.java:215)
at org.hibernate.ogm.loader.OgmLoader.loadCollection(OgmLoader.java:185)
at
org.hibernate.ogm.loader.OgmBasicCollectionLoader.initialize(OgmBasicCollectionLoader.java:42)
at
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:622)
at
org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:82)
at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:1607)
at
org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:379)
at
org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:112)
at org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:180)
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira