URL-CHOP / Chop-Api

🔪App Server for URL shortener
https://www.nexters.me/
6 stars 1 forks source link

[버그] db 커넥션 타임아웃 에러 #75

Closed JunHoPark93 closed 5 years ago

JunHoPark93 commented 5 years ago

dbms에서 no operation allowed after connection closed 에러 발생 hikari풀에서 커넥션을 잡지 못함

JunHoPark93 commented 5 years ago

가능성

  1. mysql 의 wait_timeout (활동하지 않는 커넥션을 끊을때까지 서버가 대기하는 시간) 의 값 변경하기 (nginx의 proxy_time_out 시간동안 백단에서 일을 처리 못해서 튕기는 현상)
  2. validation query 동작 하지 않음 - 부트2부터 디폴트로 hikari 풀을 쓰는데 현재 yml에 dbcp2로 select 1을 날리고있음
  3. auto reconnect = true를 지우기 (mysql 공식 doc에 앵간해선 쓰지 말라 함, 다른 오류가 나기 쉽고 validation query로 대신하라고 나와있음)

디버깅 가능성? 히카리 Pool stats 확인하기

screen shot 2019-02-09 at 2 48 32 am

출처 : Hikari CP https://github.com/brettwooldridge/HikariCP 이 옵션을 주어 pool의 상태를 몇 초마다 확인하는 로그를 남긴다

JunHoPark93 commented 5 years ago

Hikari 설정의 maxlifetime을 1/3로 줄인다.