Upgrade Ehcache to enable distributed mode (2.5.1)
Description
is related to
Activity
Sam Ottenhoff September 21, 2012 at 1:33 PM
1.3.x: r113396
Aaron Zeckoski February 28, 2012 at 6:57 AM
That's not an ehcache issue, it is an issue with authentication manager poor use of the cache, open a subtask for that
David Horwitz February 28, 2012 at 6:53 AM
Seen localy and on nightly 2 since this change:
2012-02-28 09:34:04,371 ERROR org.sakaiproject.user.api.AuthenticationManager.data net.sf.ehcache.store.disk.DiskStorageFactory - Disk Write of admin failed:
java.io.NotSerializableException: org.sakaiproject.user.impl.AuthenticationCache$AuthenticationRecord
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
at net.sf.ehcache.Element.writeObject(Element.java:797)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at net.sf.ehcache.util.MemoryEfficientByteArrayOutputStream.serialize(MemoryEfficientByteArrayOutputStream.java:97)
at net.sf.ehcache.store.disk.DiskStorageFactory.serializeElement(DiskStorageFactory.java:413)
at net.sf.ehcache.store.disk.DiskStorageFactory.write(DiskStorageFactory.java:392)
at net.sf.ehcache.store.disk.DiskStorageFactory$DiskWriteTask.call(DiskStorageFactory.java:493)
at net.sf.ehcache.store.disk.DiskStorageFactory$PersistentDiskWriteTask.call(DiskStorageFactory.java:1154)
at net.sf.ehcache.store.disk.DiskStorageFactory$PersistentDiskWriteTask.call(DiskStorageFactory.java:1138)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
4699.571: [GC [PSYoungGen: 334943K->8366K(340032K)] 63
Matthew Buckett February 27, 2012 at 8:07 AM
How do I enable distributed mode for EhCache?
Hudson CI Server February 27, 2012 at 7:04 AM
Integrated in shortenedurl trunk #173 (See http://builds.sakaiproject.org:8080/job/shortenedurl%20trunk/173/)
- Moving Sakai EhCacheFactoryBean to kernel-util (Revision 105167)
Result = SUCCESS
Ehcache 2.0 now supports fully-coherent distributed caching as a Hibernate Second-Level Cache, as well as directly through the Ehcache API, using one common JVM vendor-agnostic .jar file.
A simple configuration change allows you to switch between local and distributed implementations.
Neither Java agents nor boot jars are required
Developers don't need to know the underlying complexities of . integrations, locking, instrumentation to make the platform scale out.
Everything is configured through a single Ehcache interface (ehcache.xml) whereas before there were different sets of instructions for things like Hibernate and web sessions. Support for OSGi containers is also included, allowing developers to build modular applications with next-generation application servers