I'm having some problems with a little web application I made and I put in production a few days ago. When you access to the application and interact with it, in a few minutes crash instantly (waiting too long for the SSL handshake). I use a letsencrypt cert.
The problem seems that Undertow blocks some threads when try to use SSLConduit.java
class, this causes that some cores of the server are at 100% of usage.
The Java version in the server is:
openjdk version "11.0.2" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.2+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+7, mixed mode)
The SpringBoot version is:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
The application.properties file:
server.port=9002
server.ssl.key-store=keystore.jks
server.ssl.key-store-password=password
server.ssl.key-password=password
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/example_db
spring.datasource.username=example_user
spring.datasource.password=password_db
The undertow version is:
And yourkit is telling this:
I try to put another certificate, but the problem persist. I don't want to change to another web server (but If the problem persist I will). It is possible to fix this? or I have to change the application server?
EDIT: Related PR in github: https://github.com/undertow-io/undertow/pull/721 and the issue in JIRA: https://issues.jboss.org/browse/UNDERTOW-1493