본문 바로가기
Q&A해결2026년 7월 20일1분 읽기

deadlock detected가 가끔 터지는데 재현이 안 돼서 미치겠어요

l
lock_hyerim
조회 642댓글 4

정산 배치가 계정 잔액을 여러 건 한 트랜잭션 안에서 UPDATE 하는데, 평소엔 멀쩡하다가 트래픽 몰리는 시간대에만 가끔 아래 에러가 납니다.

ERROR:  deadlock detected
DETAIL:  Process 18442 waits for ShareLock on transaction 99123;
         blocked by process 18455.
         Process 18455 waits for ShareLock on transaction 99120;
         blocked by process 18442.
HINT:  See server log for query hints.

문제는 로컬에서 아무리 돌려도 재현이 안 된다는 거예요. 배치가 여러 개 동시에 돌 때만 터지는 것 같은데, 각 배치는 잘못된 것도 없어 보이고 각자 커밋도 잘 됩니다. 데드락이면 뭔가 서로 물고 있는 건 알겠는데 어디서부터 봐야 할지 감이 안 잡힙니다.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록