I have an odd issue happening with Spring Boot and Java 17 that I would like to get some advice on how best to debug/resolve. This application was built with Spring Boot 2.7.18. It runs on a Linux server. The application runs fine when using a Java 1.8 JRE. However, when I switch to using a Java 17 JRE, the application works ok for a minute or two, and then the browser will clock when it sends a request to the Spring Boot application.
I can tell through inspecting the client and server side sockets and through straces that the https request does make it to the web server when the stall happens, but I do not see any writes back onto the socket. So it appears the Apache web server is reading the request off of the socket, but something is breaking down with the handoff to tomcat. I have tried adjusting the server.tomcat.keep-alive-timeout to things like 600000 and -1. That helps keep the application stable for about 30 minutes, but eventual the stall issue returns.
I am continuing to debug the issue, but curious if anyone has seen this issue before or has any recommendations on how best to debug the issue.
TimZ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.