Утечка соединений с БД (HikariCP: Apparent connection leak detected)
- Платформы
- Paper · Purpur · Velocity · один сервер
- Проверено
- Проверено
- Уверенность
- Уверенность 85%
Как это выглядит в логе
Достаточно одной из строк. Агент сверяет их с логом локально, на вашем сервере.
logs/latest.log
[WARN] Connection leak detection triggered for[WARN] Apparent connection leak detectedв stack trace
Симптомы
- HikariCP сообщает, что соединение взято из пула и не возвращено дольше leakDetectionThreshold
- Со временем пул исчерпывается (см. SIG-DB-002)
Причина
Плагин получил соединение из пула HikariCP и не закрыл (не вернул) его дольше порога leakDetectionThreshold: утечка соединения или очень долгая операция с БД.
Вероятные причины
- Плагин не закрывает Connection/Statement/ResultSet (нет try-with-resources) — настоящая утечка
- Запрос или транзакция выполняется дольше порога (порог слишком низкий, медленная БД) — ложная тревога, после неё HikariCP пишет «… was returned to the pool (unleaked)»
- Поток плагина завис, удерживая соединение
Как исправитьНизкий риск
- В стеке под
Apparent connection leak detectedнайдите первый фрейм плагина — это место, где соединение взято и не возвращено. - Если в логе следом есть «Previously reported leaked connection … was returned to the pool (unleaked)» — это долгая операция, а не утечка: увеличьте
leakDetectionThresholdили ищите медленный запрос. - Обновите плагин; если повторяется на последней версии — сообщите автору, приложив стек (без конфигов с паролями).
- До исправления держите запас в
maximum-pool-sizeи следите за SIG-DB-002.