소스는 단순히 업데이트 쿼리를 날리는 것이었고 실제로 쿼리는 잘 날라가고 테스트도 잘되서 개발서버에 반영하고 잊고 있었다. 그런데 오늘 갑자기 화면 개발 담당자가 API가 안된다며, 연락이 왔다...
로그를 보니 JDBC-90405:I/O error while reading from the server. - End Of Stream 라고 찍혀있었다.
어떠한 이유인지는 모르지만 DB와 연결이 안되어 타임아웃이 나는 걸로 추측되었고 실제로 스웨거에서 API를 쏘면 로딩바만 5분 정도 빙글빙글 돌다가 404에러가 나며 끝나버리는 것이다.
이래저래 찾아보다 알게된 원인은 해당 테이블이 락이 걸려서 생긴 문제였다. 추측컨대 개발서버에 테스트용 계정이 2개가 있는데 백엔드 쪽에서도 프론트 쪽에서도 거의 2개 중 한 아이디를 가지고만 사용하다보니 교착상태에 빠져 영원히 잠긴 상태로 남아버려 발생한것 같다.
결말은 해당 테이블 락을 해제하여 이슈는 해결되었고, 덕분에 0분 정도 늦게 퇴근하여 지옥철을 맛봤다..
'개발 일기' 카테고리의 다른 글
[carsharing-40] 오브젝트를 읽었지만... (0) | 2023.03.24 |
---|