4

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:

enter image description here

And yourkit is telling this:

enter image description here

enter image description here enter image description here

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

Nico
  • 858
  • 2
  • 11
  • 27

0 Answers0