Affects Version/s: 18.104.22.168
ORM Extension: 22.214.171.124
EHCache Extension: 126.96.36.199
OS Linux (4.9.60-linuxkit-aufs) 64bit
Remote IP 172.18.0.1
Host Name www.therapyappointment.local
Servlet Container Apache Tomcat/8.0.48
Java 1.8.0_151 (Oracle Corporation) 64bit
Sprint:January 2018 Sprint
I've been seeing this intermittently in an application and have finally tracked down a reproducible test case. It seems to require the following conditions:
- ORM Second Level Cache is enabled
- EHCache is the Second level cache provider
- At least one entity CFC has cacheuse attribute set
- Two differently named applications share one ORM configuration and entity CFC which has cacheuse attribute set
The conditions to reproduce appear to be as follows:
- Initialize ORM on both App 1 and App 2
- Do reloadORM() on App 2 only
- Now both App 1 and App 2 fail with error "Cache is not alive (STATUS_SHUTDOWN)"
My internet searches on this error seem to indicate that under the covers Lucee may be setting the second Level cache specifically to the overall Lucee context, instead of the specific application name. So perhaps when one application resets ORM, it also instructs Hibernate/EHCache to reset it's cache. However it creates a problem because some part of this process is tied to the CFML application and some other part is tied to a higher level server context.
That is my theory. Test case to reproduce attached.