-
Bug
-
Resolution: Done
-
Major
-
35.0.1.Final
-
None
-
-
-
---
-
---
After upgrading from WildFly 31 to 35.0.1.Final, our application fails on the first deployment attempt after a long idle period (> 24h).
Stacktrace shows a NullPointerException from:
org.wildfly.clustering.server.expiration.ExpirationMetaData.getLastAccessTime()
which is called in:
org.wildfly.clustering.server.infinispan.expiration.ExpirationMetaDataFunction.apply(...)
Root cause: stale or passivated session entries remain in Infinispan's file-store with lastAccessTime == null. On the first deployment, the session expiration logic attempts to invoke .plus(...) on a null Instant.
Even after a failed deploy, retrying deployment does not resolve the issue. The only way to recover is to run:
"sudo docker stop wildfly" on all cluster nodes, which forces Infinispan to purge or rebuild its cache state.
Message: MSC000001: Failed to start service jboss.deployment.unit."fs.war".undertow-deployment : org.jboss.msc.service.StartException in service jboss.deployment.unit."pr.war".undertow-deployment: java.lang.NullPointerException: Cannot invoke "java.time.Instant.plus(java.time.temporal.TemporalAmount)" because the return value of "org.wildfly.clustering.server.expiration.ExpirationMetaData.getLastAccessTime()" is null at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:73) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) at java.base/java.lang.Thread.run(Thread.java:840) at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513) Caused by: java.lang.NullPointerException: Cannot invoke "java.time.Instant.plus(java.time.temporal.TemporalAmount)" because the return value of "org.wildfly.clustering.server.expiration.ExpirationMetaData.getLastAccessTime()" is null at org.wildfly.clustering.server.infinispan@5.0.4.Final//org.wildfly.clustering.server.infinispan.expiration.ExpirationMetaDataFunction.apply(ExpirationMetaDataFunction.java:23) at org.wildfly.clustering.server.infinispan@5.0.4.Final//org.wildfly.clustering.server.infinispan.expiration.ExpirationMetaDataFunction.apply(ExpirationMetaDataFunction.java:18) at org.wildfly.clustering.server.spi@5.0.4.Final//org.wildfly.clustering.server.scheduler.Scheduler$1.schedule(Scheduler.java:46) at org.wildfly.clustering.server.spi@5.0.4.Final//org.wildfly.clustering.server.scheduler.Scheduler$ReferenceScheduler.schedule(Scheduler.java:121) at org.wildfly.clustering.session.infinispan.embedded@5.0.4.Final//org.wildfly.clustering.session.infinispan.embedded.SessionExpirationScheduler.schedule(SessionExpirationScheduler.java:95) at org.wildfly.clustering.session.infinispan.embedded@5.0.4.Final//org.wildfly.clustering.session.infinispan.embedded.SessionExpirationScheduler.schedule(SessionExpirationScheduler.java:89) at org.wildfly.clustering.server.infinispan@5.0.4.Final//org.wildfly.clustering.server.infinispan.scheduler.CacheEntriesTask.accept(CacheEntriesTask.java:53) at org.wildfly.clustering.server.infinispan@5.0.4.Final//org.wildfly.clustering.server.infinispan.scheduler.CacheEntriesTask.accept(CacheEntriesTask.java:25) at org.wildfly.clustering.session.infinispan.embedded@5.0.4.Final//org.wildfly.clustering.session.infinispan.embedded.InfinispanSessionManagerFactory.lambda$createSessionManager$0(InfinispanSessionManagerFactory.java:147) at org.wildfly.clustering.session.infinispan.embedded@5.0.4.Final//org.wildfly.clustering.session.infinispan.embedded.InfinispanSessionManager.start(InfinispanSessionManager.java:85) at org.wildfly.clustering.session.cache@5.0.4.Final//org.wildfly.clustering.session.cache.DecoratedSessionManager.start(DecoratedSessionManager.java:47) at org.wildfly.clustering.web.undertow@35.0.1.Final//org.wildfly.clustering.web.undertow.session.DistributableSessionManager.start(DistributableSessionManager.java:72) at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:562) at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:559) at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42) at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421) at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:605) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:89) at org.wildfly.extension.undertow@35.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:70) ... 8 more
- causes
-
JBEAP-31262 [GSS](8.1.z) WFLY-20657 - IllegalStateException at org.wildfly.clustering.session.cache validate
-
- Pull Request Sent
-
- is incorporated by
-
WFLY-20604 Upgrade wildfly-clustering to 6.0.4.Final
-
- Resolved
-
- relates to
-
WFLY-20647 IllegalStateException at org.wildfly.clustering.session.cache validate
-
- Resolved
-
-
JBEAP-31262 [GSS](8.1.z) WFLY-20657 - IllegalStateException at org.wildfly.clustering.session.cache validate
-
- Pull Request Sent
-