• Bug
  • Status: Closed
  • 2 Major
  • Resolution: Fixed
  • teck
  • Reporter: teck
  • July 12, 2011
  • 0
  • Watchers: 0
  • July 27, 2012
  • July 12, 2011

Description

If the instances of java.lang.Class for the java primitive types are in the graph of an clustered ehcache key you can an exception on deserializing keys

see http://forums.terracotta.org/forums/posts/list/5668.page

Comments

Tim Eck 2011-07-12

fixed in 28760

Tim Eck 2011-07-12

net.sf.ehcache.CacheException: java.lang.ClassNotFoundException: boolean at org.terracotta.modules.ehcache.store.ValueModeHandlerSerialization.getRealKeyObject(ValueModeHandlerSerialization.java:128) at org.terracotta.modules.ehcache.store.ValueModeHandlerSoftLockAwareSerialization.getRealKeyObject(ValueModeHandlerSoftLockAwareSerialization.java:68) at org.terracotta.modules.ehcache.store.ClusteredStoreBackendImpl$TDCWithEvents.onExpiry(ClusteredStoreBackendImpl.java:217) at org.terracotta.cache.TerracottaDistributedCache.expire(TerracottaDistributedCache.java:427) at org.terracotta.cache.TerracottaDistributedCache.getNonExpiredEntry(TerracottaDistributedCache.java:240) at org.terracotta.cache.TerracottaDistributedCache.getNonExpiredEntryCoherent(TerracottaDistributedCache.java:152) at org.terracotta.cache.TerracottaDistributedCache.getTimestampedValueQuiet(TerracottaDistributedCache.java:198) at org.terracotta.modules.ehcache.store.ClusteredStoreBackendImpl.getTimestampedValueQuiet(ClusteredStoreBackendImpl.java:70) at org.terracotta.modules.ehcache.store.backend.StrictBackend.get(StrictBackend.java:48) at org.terracotta.modules.ehcache.store.ClusteredStore.doGet(ClusteredStore.java:360) at org.terracotta.modules.ehcache.store.ClusteredStore.getQuiet(ClusteredStore.java:351) at net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:1925) at net.sf.ehcache.Cache.getQuiet(Cache.java:1788) at net.sf.ehcache.constructs.blocking.BlockingCache.get(BlockingCache.java:160) at net.sf.ehcache.constructs.blocking.SelfPopulatingCache.get(SelfPopulatingCache.java:68) Caused by: java.lang.ClassNotFoundException: boolean at java.lang.ClassLoader.findClass(ClassLoader.java:358) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.terracotta.modules.ehcache.store.ThreadContextAwareClassLoader.loadClass(ThreadContextAwareClassLoader.java:34) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.terracotta.cache.serialization.DsoSerializationStrategy$OIS.resolveClass(DsoSerializationStrategy.java:111) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1461) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1311) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.terracotta.cache.serialization.DsoSerializationStrategy2.deserializeStringKey(DsoSerializationStrategy2.java:73) at org.terracotta.modules.ehcache.store.ValueModeHandlerSerialization.getRealKeyObject(ValueModeHandlerSerialization.java:126) … 149 more