반응형

문제

    오라클 클라우드에서 동작하는 스프링 프로젝트에서 어느순간 데이터베이스에 접근할 수 없는 상황이 발생했다.

     

     

    원인

    이 문제는 커넥션 풀의 커넥션이 존재하지만 이미 연결이 끊어졌기 때문에 발생한 것이었다.

    나의 경우에는 트래픽이 거의 없어서 8시간동안 사용되지않은 커넥션들이 풀에 남아있었고 이 커넥션들을 이용해서 처리를하려고 하여 해당 문제가 발생한 것이다.

    히카리 CP에서 커넥션 풀의 수명을 제어하는 maxLifetime 기본 값은 30분이다.

     

     

    해결

    데이터베이스(MySQL)의 wait_timeout 설정을 확인해보았다.

    wait_timeout으로 설정된 시간동안 커넥션이 사용되지 않으면 커넥션 연결이 종료된다.

    SHOW VARIABLES LIKE 'wait_timeout';
    wait_timeout	28800 // 8시간

     

    커넥션 풀에 있는 커넥션들이 wait_timeout 이전에 종료되고 새로 커넥션을 만들도록 maxLifetime 설정을 추가하였다.

     

    이 설정으로 문제가 해결되는지 지켜봐야 할 것 같다…

     

    참고

     

    반응형

    + Recent posts