반응형

lock wait 2

[MySQL] Lock wait timeout exceeded

기존에 정상적으로 동작하던 API에서 간헐적으로 Timeout Error가 발생하기 시작했다. Cloudwatch Log에서 다음과 같은 에러 메시지를 확인하였고, 외부 연동 포인트가 아닌 DB에서 발생한 문제 임을 알게 되었다. Lock wait timeout exceeded; try restarting transaction Lock Timeout이 발생하는 원인 1. Transaction 수행 시간이 긴 경우 Lock Timeout이 발생하는 것은 하나의 Transaction이 처리되는 데에 시간이 오래 소요되는 경우이다. 실제로 에러가 간헐적으로 발생하는 API는 Bulk 요청이 주로 이뤄지는 API들이다. Bulk 요청이기 때문에 Transaction 관리를 보다 철저하게 처리해주었는데, Tran..

MySQL Lock 상황 문제 해결

최근 중국어 공부에 집중하느라 개발 관련해서는 느슨하게 지내고 있었는데 장애 처리 상황이 발생하여 해결했던 내용을 공유합니다. 장애 상황 외부에서 받은 데이터를 DB로 업로드 하는 프로그램이 있는데 평소에 잘 실행되던 프로그램이 특정 파일에 대해서만 저장이 되지 않는 문제가 발생하였습니다. 이 프로그램은 Spring Boot로 만들어진 프로그램으로 에러 메시지는 다음과 같은 에러 메시지가 나타납니다. Lock wait timeout exceeded; try restarting transaction 이런 상황이 되면 많은 개발자의 반응은 "조금 전까지 잘 돌아가던 프로그램이었어요! 왜 안돌아가는지 모르겠어요?" 일 것입니다. 그리고 timeout이 발생했으니 DB 서버 성능에 문제가 있는 것이 아닌가 하는..

반응형