I'm trying to upgrade from Vaadin 23
to Vaadin 24
.
Now, I very frequently see the following message in the console:
2023-03-09T16:32:14.882+02:00 WARN 4348 --- [sphere-Shared-0] org.atmosphere.cpr.DefaultBroadcaster : This message Entry{message=com.vaadin.flow.server.communication.AtmospherePushConnection$PushMessage@428f5045, type=RESOURCE, future=org.atmosphere.cpr.BroadcasterFuture@ca43632} will be lost
2023-03-09T16:32:14.882+02:00 WARN 4348 --- [sphere-Shared-0] org.atmosphere.cpr.DefaultBroadcaster : Failed to submit broadcast handler runnable to for Broadcaster/*
java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
at org.apache.catalina.connector.RequestFacade.getHeader(RequestFacade.java:675) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:88) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:88) ~[tomcat-embed-core-10.1.5.jar:6.0]
at org.springframework.security.web.firewall.StrictHttpFirewall$StrictFirewalledRequest.getHeader(StrictHttpFirewall.java:714) ~[spring-security-web-6.0.2.jar:6.0.2]
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:88) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:88) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:88) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:88) ~[tomcat-embed-core-10.1.5.jar:6.0]
at org.atmosphere.cpr.AtmosphereRequestImpl.getHeader(AtmosphereRequestImpl.java:353) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.AtmosphereRequestImpl.getHeader(AtmosphereRequestImpl.java:338) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at com.vaadin.flow.server.communication.LongPollingCacheFilter.filter(LongPollingCacheFilter.java:56) ~[flow-server-24.0.0.jar:24.0.0]
at org.atmosphere.cpr.BroadcasterConfig.filter(BroadcasterConfig.java:452) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster.perRequestFilter(DefaultBroadcaster.java:822) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster.deliverPush(DefaultBroadcaster.java:695) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:572) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:423) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) ~[na:na]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na]
What could be causing this and how to fix it?
UPDATED
one more catch:
2023-03-09T16:32:14.881+02:00 WARN 4348 --- [phere-Shared-61] org.atmosphere.cpr.DefaultBroadcaster : This message com.vaadin.flow.server.communication.AtmospherePushConnection$PushMessage@4ad4f0be will be lost for AtmosphereResource 48727133-d436-42aa-ab43-903ea948851d, adding it to the BroadcasterCache
2023-03-09T16:32:14.881+02:00 WARN 4348 --- [phere-Shared-61] org.atmosphere.cpr.DefaultBroadcaster : Failed to execute a write operation for Broadcaster /*
java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
at org.apache.catalina.connector.RequestFacade.removeAttribute(RequestFacade.java:549) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:281) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at org.atmosphere.cpr.AtmosphereRequestImpl.removeAttribute(AtmosphereRequestImpl.java:681) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:915) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster$2.run(DefaultBroadcaster.java:477) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Should I be concerned about such warnings?
UPDATED 2
I switched to Undertow Embedded Server and do not see such issues anymore. Looks like this is somehow related to the Tomcat Server.