https://bz.apache.org/bugzilla/show_bug.cgi?id=66508
--- Comment #21 from Venkata Manda <mvssrmur...@gmail.com> --- Excuse me for the delayed response. I tested the fix by simulating the GC pause by pausing the JVM (running in debug mode) and it worked. My team is working on running this at a higher load with actual user loads to confirm that we are not seeing any other side effects/issues. I was waiting for those results before confirming the fix is working without any issues. Recently I got to know about https://bz.apache.org/bugzilla/show_bug.cgi?id=66574 and the creator of the bug stated that this seems to be a regression introduced in 9.0.74. In the past, after upgrading CometD from 3 to 5 with Tomcat version 9.0.63 we noticed all the HTTP-nio2 threads blocked without making progress. We raised the issue with CometD https://github.com/cometd/cometd/issues/1328 and Tomcat https://bz.apache.org/bugzilla/show_bug.cgi?id=66531. We fixed it on our side by not using CompletableFuture in org.cometd.server.websocket.javax.WebSocketEndPoint.onMessage method. This has been done to unblock ourselves. We are not sure whether 9.0.75 change is needed as we no longer use CompletableFuture in WebSocketEndPoint. Any guidance on this is highly appreciated. Once again sorry for the delayed response. We were waiting to run this at a higher load with different scenarios to make sure there is no other issues. Thank you once again for all the help. ----------------------------------------- Stack trace for https://bz.apache.org/bugzilla/show_bug.cgi?id=66531 "http-nio2-8082-exec-1" #82 daemon prio=5 os_prio=31 cpu=460.02ms elapsed=2578.35s tid=0x00007facbee28800 nid=0xde03 waiting on condition [0x000070001173d000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method) - parking to wait for <0x00000007b5100478> (a java.util.concurrent.CompletableFuture$Signaller) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:194) at java.util.concurrent.CompletableFuture$Signaller.block(java.base@11.0.17/CompletableFuture.java:1796) at java.util.concurrent.ForkJoinPool.managedBlock(java.base@11.0.17/ForkJoinPool.java:3128) at java.util.concurrent.CompletableFuture.waitingGet(java.base@11.0.17/CompletableFuture.java:1823) at java.util.concurrent.CompletableFuture.get(java.base@11.0.17/CompletableFuture.java:1998) at org.cometd.server.websocket.javax.WebSocketEndPoint.onMessage(WebSocketEndPoint.java:61) at org.cometd.server.websocket.javax.WebSocketEndPoint.onMessage(WebSocketEndPoint.java:35) at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:415) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:129) at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:515) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:301) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:183) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:162) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:157) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1701) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) - locked <0x00000007b51005d8> (a org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1190) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:633) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:611) at sun.nio.ch.Invoker.invokeUnchecked(java.base@11.0.17/Invoker.java:127) at sun.nio.ch.Invoker$2.run(java.base@11.0.17/Invoker.java:219) at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(java.base@11.0.17/AsynchronousChannelGroupImpl.java:112) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(java.base@11.0.17/Thread.java:829) -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org