← 전체 글로 돌아가기

웹 개발

데이터베이스 트랜잭션 잠금으로 막힐 때 확인 순서

문제를 크게 잡으면 모든 파일이 의심스러워진다. 트랜잭션 문제는 설정과 로그부터 단계적으로 좁혀가면 빠르게 해결된다.

문제를 크게 잡으면 모든 파일이 의심스러워져서 손대기 어려워진다. 문제 해결 전체 흐름에서 원인을 좁혀야 한다.

상황을 한 줄로 요약하기

배포 기전에 설정부터 확인하면 불필요한 변경을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.

먼저 생각해야 할 점:

  • 어느 테이블에서 잠금이 발생하나?
  • 트랜잭션 타임아웃은 얼마인가?
  • 현재 실행 중인 쿼리는 무엇인가?

증거 모으기

트랜잭션 주변 문제가 반복된다면 확인 순서를 고정해두는 편이 낫다. 감으로 접근하면 같은 실수를 반복하게 된다.

먼저 볼 값: 빌드 결과

  • 같이 비교할 값: 정상일 때의 요청 처리 상태
  • 남겨둘 기록: 명령 출력, 응답 코드, 수정한 설정

설정과 가능한 원인

트랜잭션 주변 문제가 반복된다면 확인 순서를 고정해두는 편이 낫다.

npm run build

가장 작은 실험부터 시작하기

중요한 건 트랜잭션 자체보다 재현 가능한 단서를 남기는 것이다. 재현 조건을 확인하면 다음으로 볼 범위가 확 줄어든다.

사용자 영향과 통과 기준

정상 상태를 먼저 정해두는 게 좋다. 그래야 로그 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.

검증 단계

  1. 원래 증상이 같은 조건에서 다시 나는지 확인한다.
  2. 로그나 응답에서 바뀐 부분을 한 줄로 설명한다.
  3. 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.

해결 자체보다 어떤 값이 달라졌는지 설명할 수 있는 상태가 더 중요하다. 관련 기록을 짧게라도 남겨두면 다음 확인이 훨씬 빨라진다.