Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар
Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался. Детективная история о том, как пять соединений с базой держат в заложниках весь production. В деле: connection leak из легаси-отчёта, @Transactional, который вышел покурить вместе с чужим API, аннотация с фальшивым алиби, дуэль двух транзакций, REQUIRES_NEW с двойной бронью столиков — и один дворецкий, которого никто не подозревал, потому что его нанял сам фреймворк. Каждое преступление воспр
