leakDetectionThreshold
특정 시간 이내에 커넥션이 반환이 안 되면 connection leak 으로 판단하고 leak 을 일으킨 stack trace 를 로그로 남기는 기능이 있음.
단, 이것은 진짜 leak이 아니고 지정 시간이 지나도 쿼리가 계속 실행될 경우, leak-detection 으로 판단하기도 하기 때문에 혼란을 줄 수 있다.
따라서 이 값을 max-lifetime
보다 작게 주는 것이 좋다.
-
WARN 924 --- [l-1 housekeeper] com.zaxxer.hikari.pool.ProxyLeakTask : Connection leak detection triggered for com.mysql.jdbc.JDBC4Connection@ffd3737 on thread http-nio-80-exec-8, stack trace follows
java.lang.Exception: Apparent connection leak detected
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) ~[HikariCP-2.7.9.jar:na]
....
Stacktrace 를 잘 보면 leak 을 일으킨 호출 코드를 볼 수 있다.