[Deploying Sakai] ClassNotFound Exception and AuthenticationManager cache entries

Eric Crossman ecrossman at ufl.edu
Thu Sep 19 08:53:44 PDT 2013

We've been experiencing some HTTP 500 errors for WebDAV and portal 
"xlogin" authentications which we have been able to trace back to the 
AuthenticationManager ehcache. (We are a Shibboleth institution so 
normal browser-based authentications are container logins and bypass 
this cache.) We found out through observation and some load testing on 
our test infrastructure that when the the cache grows beyond the default 
250 in-memory entries and begins to overflow to disk these entries are 
unable to be de-serialized back into Java objects and result in 
ClassNotFound exceptions. An example exception is included below.

Has anyone else run into this problem? We have tried setting the 
"maxElementsInMemory" property to override the default size of 250 but 
this does not take effect in our environment. I've also verified that we 
do not have the patch for KNL-1008 included in our distribution which 
may explain why the sizing property is not recognized. Is there any way 
to override these default settings via sakai.properties in the meantime?

Thanks in advance,
Eric Crossman
University of Florida

SEVERE: Servlet.service() for servlet [dav] in context with path [/dav] 
threw exception
net.sf.ehcache.CacheException: java.lang.ClassNotFoundException:
          at net.sf.ehcache.store.disk.Segment.decodeHit(Segment.java:178)
          at net.sf.ehcache.store.disk.Segment.get(Segment.java:216)
          at net.sf.ehcache.store.disk.DiskStore.get(DiskStore.java:506)
          at net.sf.ehcache.Cache.searchInStoreWithStats(Cache.java:1986)
          at net.sf.ehcache.Cache.get(Cache.java:1618)
          at net.sf.ehcache.Cache.get(Cache.java:1591)

More information about the production mailing list