• Bug
  • Status: Resolved
  • 2 Major
  • Resolution: Fixed
  • ehcache-core
  • cdennis
  • Reporter: fmazeira
  • March 01, 2013
  • 0
  • Watchers: 7
  • June 06, 2013
  • March 05, 2013

Attachments

Description

During Load test application crash on

2013-02-28 15:35:11,555 [WorkerThread(local_cache_transaction_complete_stage, 2, 0)] ERROR com.tc.object.DistributedObjectClient - Thread:Thread[WorkerThread(local_cache_transaction_complete_stage, 2, 0),5,TC Thread Group] got an uncaught exception. calling CallbackOnExitDefaultHandlers. com.tc.exception.TCRuntimeException: Uncaught exception in stage at com.tc.async.impl.StageImpl$WorkerThread.run(StageImpl.java:168) Caused by: java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) at java.util.AbstractList$Itr.next(AbstractList.java:343) at net.sf.ehcache.pool.impl.AbstractPool.getSize(AbstractPool.java:65) at net.sf.ehcache.pool.impl.AtomicPoolAccessor.add(AtomicPoolAccessor.java:52) at net.sf.ehcache.pool.impl.AbstractPoolAccessor.add(AbstractPoolAccessor.java:67) at net.sf.ehcache.store.MemoryStore.put(MemoryStore.java:255) at net.sf.ehcache.store.FrontEndCacheTier.put(FrontEndCacheTier.java:261) at net.sf.ehcache.Cache.putInternal(Cache.java:1454) at net.sf.ehcache.Cache.put(Cache.java:1382) at net.sf.ehcache.Cache.put(Cache.java:1347) at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.put(OnlineEhcacheSMLocalStore.java:53) at org.terracotta.modules.ehcache.store.servermap.EhcacheSMLocalStore.put(EhcacheSMLocalStore.java:87) at com.terracotta.toolkit.collections.servermap.L1ServerMapLocalCacheStoreImpl.put(L1ServerMapLocalCacheStoreImpl.java:131) at com.tc.object.servermap.localcache.impl.ServerMapLocalCacheImpl.putMetaMapping(ServerMapLocalCacheImpl.java:202) at com.tc.object.servermap.localcache.impl.ServerMapLocalCacheImpl.addToCache(ServerMapLocalCacheImpl.java:145) at com.tc.object.servermap.localcache.impl.ServerMapLocalCacheImpl.postTransactionCallback(ServerMapLocalCacheImpl.java:717) at com.tc.object.servermap.localcache.impl.L1ServerMapLocalStoreTransactionCompletionListener.postTransactionCallback(L1ServerMapLocalStoreTransactionCompletionListener.java:50) at com.tc.object.servermap.localcache.impl.L1ServerMapTransactionCompletionHandler.handleEvent(L1ServerMapTransactionCompletionHandler.java:16) at com.tc.async.impl.StageImpl$WorkerThread.run(StageImpl.java:149)

Comments

frederic mazeiras 2013-03-01

proposal of modification

Alexander Snaps 2013-03-01

Maybe using a CopyOnWriteArrayList instead would be a less “contended” choice …

frederic mazeiras 2013-03-05

As proposed By Alex an implementation with CopyOnWriteArrayList which slove my problem

Chris Dennis 2013-03-05

Just to clarify - I did not look at either of the user submitted patches/sources before coding the fix.

Fiona OShea 2013-03-05

Frederic please sign and return our contributor agreement http://www.terracotta.org/confluence/download/attachments/27918462/Individual+Contributor+Agreement.pdf?version=2 to have your patch reviewed Regards Fiona