I observed my application (based on undertow) constantly eat CPU percentage after running a while:
In the end I found if I suspend one of the XNIO I/O thread the CPU percentage will be released.
The stack frame after suspended the I/O thread:
The CPU consumption after suspended and resumed that thread:
Any idea what triggered this issue?
Updates
The suspended place of normal I/O thread:
The suspended place of error I/O thread:
Update 2 - More findings
There are dead loop found in the logic: