백엔드#동시성#Pessimistic Lock#HikariCP+1
이커머스 재고 차감, -1 고정 버그부터 비관적 락까지 — 동시성 제어 기록
주문 수량을 무시하고 재고를 -1만 차감하던 버그를 발견한 후, PESSIMISTIC_WRITE 락·데드락 방지·트랜잭션 타임아웃·커넥션 풀 튜닝까지 한 번에 정리한 기록.
8
개발하면서 배운 것들을 기록합니다.
주문 수량을 무시하고 재고를 -1만 차감하던 버그를 발견한 후, PESSIMISTIC_WRITE 락·데드락 방지·트랜잭션 타임아웃·커넥션 풀 튜닝까지 한 번에 정리한 기록.
→ 월요일 아침마다 터지는 커넥션 풀 고갈. 로그를 추적하다 보니 OSIV가 범인이었다.
FCM(Firebase Cloud Messaging, 구글에서 제공하는 모바일 푸시 알림 서비스) 발송 실패한 토큰을 DB에서 비활성 처리하는 기능을 배포했다. 로직은 단순했다.