웹 개발
데이터베이스 트랜잭션 잠금으로 막힐 때 확인 순서
문제를 크게 잡으면 모든 파일이 의심스러워진다. 트랜잭션 문제는 설정과 로그부터 단계적으로 좁혀가면 빠르게 해결된다.
문제를 크게 잡으면 모든 파일이 의심스러워져서 손대기 어려워진다. 문제 해결 전체 흐름에서 원인을 좁혀야 한다.
상황을 한 줄로 요약하기
배포 기전에 설정부터 확인하면 불필요한 변경을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.
먼저 생각해야 할 점:
- 어느 테이블에서 잠금이 발생하나?
- 트랜잭션 타임아웃은 얼마인가?
- 현재 실행 중인 쿼리는 무엇인가?
증거 모으기
트랜잭션 주변 문제가 반복된다면 확인 순서를 고정해두는 편이 낫다. 감으로 접근하면 같은 실수를 반복하게 된다.
먼저 볼 값: 빌드 결과
- 같이 비교할 값: 정상일 때의 요청 처리 상태
- 남겨둘 기록: 명령 출력, 응답 코드, 수정한 설정
설정과 가능한 원인
트랜잭션 주변 문제가 반복된다면 확인 순서를 고정해두는 편이 낫다.
npm run build
가장 작은 실험부터 시작하기
중요한 건 트랜잭션 자체보다 재현 가능한 단서를 남기는 것이다. 재현 조건을 확인하면 다음으로 볼 범위가 확 줄어든다.
사용자 영향과 통과 기준
정상 상태를 먼저 정해두는 게 좋다. 그래야 로그 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.
검증 단계
- 원래 증상이 같은 조건에서 다시 나는지 확인한다.
- 로그나 응답에서 바뀐 부분을 한 줄로 설명한다.
- 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.
해결 자체보다 어떤 값이 달라졌는지 설명할 수 있는 상태가 더 중요하다. 관련 기록을 짧게라도 남겨두면 다음 확인이 훨씬 빨라진다.