어느 날 데드락이 찾아왔다.
·
데이터베이스
문제상황한끼족보 서비스는 유저 피드백을 바탕으로 2차 MVP 때, 메뉴를 등록하고 수정 및 삭제할 수 있는 기능을 도입하기로 했다. 해당 플로우를 스프린트 기간 내에 열심히 구현해서 성공적으로 배포까지 완료했다. 이렇게 서비스를 배포하기 직전, 기획 팀원들이 QA를 진행하는 도중에 에러가 발생했다는 연락을 받게 되었다. 로그를 확인해본 결과 DB단에서 발생한 에러였고 원인을 분석하기 위에 MySQL에 접속해 show engine innodb status; 명령어를 통해 로그를 확인한 결과, 데드락이 발생했다는 로그를 발견하게 되었다. 이번 글에서는 왜 데드락이 발생했는지, 어떻게 해결했는지 살펴보고자 한다.실제 로그 로직 흐름테이블 구조현재 한끼족보의 데이터베이스 구조는 다음과 같다. 하나의 식당에 여러..