So I'm still not sure the cause of this, but prior to 10.0 you could redeploy/reload webapps live without it causing a problem. Now since 10.0 if you try to do that with "some" apps, it takes down the hibnerate.L2Cache during the app shutdown, causing a system failure. I think I've tracked it down to
KNL-1233 but can't see what's wrong. on the start() call it doesn't do anything, but what's different about the stop call is it does a close. It looks like when you redepoy it closes the SessionFactory and stops the cache. Then it starts it up again and creates another Cache. But this new cache doesn't work.
Some example stack trace during this with gradebook. After reloading gradebook, all of the sites disappear and after logging out the system is no longer usable. I tested with Sakai 2.8 and 2.9 and they work fine.
This probably isn't a huge deal for production, but really slows down development when you have to redeploy webapps to test changes.
The short error is: The full stack is in here.
org.springframework.orm.hibernate3.HibernateSystemException: java.lang.IllegalStateException: The org.sakaiproject.springframework.orm.hibernate.L2Cache Cache is not alive (STATUS_SHUTDOWN); nested exception is org.hibernate.cache.CacheException: java.lang.IllegalStateException: The org.sakaiproject.springframework.orm.hibernate.L2Cache Cache is not alive (STATUS_SHUTDOWN)
Some ideas I have
1) The old code didn't destroy the cache when this happened, because the new one is this is messing it up
2) Something is trying to access the cache while it's reloading
3) Something else ?
In the stack it looks like profile2 is the first thing to hit the the hibernate cache, but everything after fails too. In the code in
KNL-1233 in the start() it prints a message that it's starting, but is it really doing anything?