I'm stumped, I'm using a Azure Cache for Redis ser...
# lucee
e
I'm stumped, I'm using a Azure Cache for Redis server for session management, it worked for a short amount of time, but stopped at one time, the server reports no Gets or Sets occurring The connection in the admin reports OK app.cfc <cfset this.sessionCluster = true /> <cfset this.sessionStorage = "redisStorage" /> <cfset this.sessionType = "jee" />
z
if you are on 6.2 try this for debugging https://luceeserver.atlassian.net/browse/LDEV-3420
e
sounds good, I'll set those environment variables forgot to mention versions Lucee 6.2.1.112-RC Lucee redis extension 4.0.0.0-SNAPSHOT
z
it's extremely verbose
e
On windows, would this be correct for setting the logging level? [System.Environment]::SetEnvironmentVariable('LUCEE_LOGGING_FORCE_LEVEL','trace','Machine')
z
logs.bat
you using tomcat? then use
../tomcat/bin/catalina.bat run
e
PS C:\lucee> set lucee_logging_force_level=trace
> set lucee_logging_force_appender=console
PS C:\lucee> .\tomcat\bin\catalina.bat run The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program guessing I should be running it from a different directory than c:\lucee
z
run catalina.bat in the tomcat\bin dir
e
PS C:\lucee\tomcat\bin> .\catalina.bat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
should i set the JRE_Home to c:/lucee/jre folder or is it to the bin folder?
z
yup
JAVA_HOME=c:\lucee\jre
e
saw this almost right away when the server started 17-Apr-2025 135124.566 SEVERE [main] org.apache.catalina.session.StandardManager.startInternal Exception loading sessions from persistent storage java.lang.ClassNotFoundException: lucee.runtime.type.scope.JSession
i can give full stack if you think its relevant
z
sure
e
it was before making a web request, so i wasn't sure but here it is
Copy code
17-Apr-2025 13:51:24.566 SEVERE [main] org.apache.catalina.session.StandardManager.startInternal Exception loading sessions from persistent storage
        java.lang.ClassNotFoundException: lucee.runtime.type.scope.JSession
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1120)
                at java.base/java.lang.Class.forName0(Native Method)
                at java.base/java.lang.Class.forName(Unknown Source)
                at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:158)
                at java.base/java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
                at java.base/java.io.ObjectInputStream.readClassDesc(Unknown Source)
                at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
                at java.base/java.io.ObjectInputStream.readObject0(Unknown Source)
                at java.base/java.io.ObjectInputStream.readObject(Unknown Source)
                at java.base/java.io.ObjectInputStream.readObject(Unknown Source)
                at org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1268)
                at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:846)
                at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:210)
                at org.apache.catalina.session.StandardManager.load(StandardManager.java:156)
                at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:345)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4465)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603)
                at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1175)
                at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1888)
                at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
                at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
                at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1086)
                at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
                at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1584)
                at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
                at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114)
                at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
                at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:345)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:721)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
                at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:211)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:878)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:735)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.base/java.lang.reflect.Method.invoke(Unknown Source)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
z
yeah, file a bug, jee sessions are complicated, with cfml sessions lucee has full control
e
redis doesn't work with cfml sessions right, pretty sure I got an error when I would swap it to cfml, i'll get a bug submitted
z
99% sure it does, if it doesn't it's a bug too
the v4 of the extension is jakarta based, previously like everything else it was javax based
e
<cfset this.sessionCluster = true /> <cfset this.sessionStorage = "redisStorage" /> <cfset this.sessionType = "cfml" />
Copy code
lucee.runtime.exp.NativeException: class lucee.runtime.type.scope.JSession cannot be cast to class lucee.runtime.type.scope.storage.StorageScope (lucee.runtime.type.scope.JSession is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @4832f03b; lucee.runtime.type.scope.storage.StorageScope is in unnamed module of loader java.net.URLClassLoader @370736d9)
 at lucee.runtime.type.scope.ScopeContext.getCFScope(ScopeContext.java:220)
 at lucee.runtime.type.scope.ScopeContext.hasExistingSessionScope(ScopeContext.java:447)
 at lucee.runtime.PageContextImpl.initApplicationContext(PageContextImpl.java:3587)
 at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:116)
 at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:41)
 at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2810)
 at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2797)
 at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2768)
 at lucee.runtime.engine.Request.exe(Request.java:45)
 at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1109)
 at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1066)
 at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
 at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
 at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:424)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
 at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
 at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
 at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: class lucee.runtime.type.scope.JSession cannot be cast to class lucee.runtime.type.scope.storage.StorageScope (lucee.runtime.type.scope.JSession is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @4832f03b; lucee.runtime.type.scope.storage.StorageScope is in unnamed module of loader java.net.URLClassLoader @370736d9)
 ... 35 more
should I try swapping to a different version of the Redis extension?
z
yeah, got back to the latest 3.x
that's the same error
error when downgrading Redis ext 3.0.0.51
Copy code
lucee.runtime.exp.NativeException: Unable to resolve redis.extension [123](R 123.0): missing requirement [redis.extension [123](R 123.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.aws-java-sdk-secretsmanager-all)(bundle-version>=1.12.454)) [caused by: Unable to resolve org.lucee.aws-java-sdk-secretsmanager-all [124](R 124.0): missing requirement [org.lucee.aws-java-sdk-secretsmanager-all [124](R 124.0)] osgi.wiring.package; (osgi.wiring.package=software.amazon.ion)] Unresolved requirements: [[redis.extension [123](R 123.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.aws-java-sdk-secretsmanager-all)(bundle-version>=1.12.454))] at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398) at org.apache.felix.framework.Felix.startBundle(Felix.java:2308) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:1006) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:992) at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:112) at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1496) at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1442) at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1434) at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:742) at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:680) at lucee.runtime.osgi.OSGiUtil$BundleDefinition.getBundle(OSGiUtil.java:2105) at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:185) at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:169) at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:211) at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:203) at lucee.runtime.config.ConfigAdmin.setClass(ConfigAdmin.java:6793) at lucee.runtime.config.ConfigAdmin._updateCache(ConfigAdmin.java:4397) at lucee.runtime.config.ConfigAdmin.updateRHExtension(ConfigAdmin.java:4959) at lucee.runtime.config.ConfigAdmin.updateRHExtension(ConfigAdmin.java:4750) at lucee.runtime.config.ConfigAdmin._updateRHExtension(ConfigAdmin.java:4730) at lucee.runtime.tag.Admin.doUpdateRHExtension(Admin.java:4340) at lucee.runtime.tag.Admin._doStartTag(Admin.java:757) at lucee.runtime.tag.Admin.doStartTag(Admin.java:359) at ext_applications_cfm184$cf.call(/admin/ext.applications.cfm:65) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1093) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:987) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:968) at web_cfm$cf.call_000007(/admin/web.cfm:521) at web_cfm$cf.call(/admin/web.cfm:515) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1093) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:987) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:968) at index_cfm$cf.call(/admin/index.cfm:3) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1093) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:987) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:213) at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:100) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2785) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2772) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2743) at lucee.runtime.engine.Request.exe(Request.java:45) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1099) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1056) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97) at lucee.loader.servlet.jakarta.CFMLServlet.service(CFMLServlet.java:49) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at mod_cfml.core.invoke(core.java:180) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Unknown Source) Caused by: org.osgi.framework.BundleException: Unable to resolve redis.extension [123](R 123.0): missing requirement [redis.extension [123](R 123.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.aws-java-sdk-secretsmanager-all)(bundle-version>=1.12.454)) [caused by: Unable to resolve org.lucee.aws-java-sdk-secretsmanager-all [124](R 124.0): missing requirement [org.lucee.aws-java-sdk-secretsmanager-all [124](R 124.0)] osgi.wiring.package; (osgi.wiring.package=software.amazon.ion)] Unresolved requirements: [[redis.extension [123](R 123.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.aws-java-sdk-secretsmanager-all)(bundle-version>=1.12.454))] ... 69 more
would it be worth uninstalling lucee and going to a different version to start a little fresher... I think it did work at one time... but maybe it stopped working once I swapped to a newer Redis extension or the latest RC...
z
definately worth trying, tomcat 11 has virtual threads, much snappier
e
clean install of 6.2.0.321 Apache Tomcat/10.1.36 21.0.6 Redis extension 4.0.0.0-SNAPSHOT Did work, I see Gets/Sets in the monitoring of the Redis server, but then it seems to stop within a few minutes stopped the server and updated the logging command, trace, console looked like the same type of stack trace... tried few other things, but i no luck
z
did you try the 3.x on the clean install? sometimes a restart after downgrading a ext helps