Running a Spring Boot application we have attempted our best to profile the root cause of this. We’ve attempted setting MaxDirectMemorySize explicitly. With plenty of heap and non-heap memory available we observed that java.nio.BufferPool.direct continues to fill up over time until eventually crashing.
My question is besides how to fix this problem, how/where is the buffer cleared?
We’re not able to extract a good heap dump (a separate thread was started on this matter) therefore we can’t gather more information.