조건부 갱신만으로 충분할까? 브랜드 삭제와 주문 확정에서 락을 고른 기준

·
루퍼스
TL;DR브랜드를 삭제할 때는 Brand를 배타 잠금으로 조회한 뒤 연결 상품과 Brand를 조건부 UPDATE로 논리 삭제했습니다. 상품 등록과 주문 확정은 같은 Brand의 공유락을 얻도록 했습니다.주문 확정에서는 DRAFT 상태, 판매 가능한 상품과 충분한 재고, 결제 가능한 잔액을 각 UPDATE의 조건으로 검사했습니다. 주문 상태 변경과 차감은 하나의 트랜잭션에서 처리했습니다.비관적 락과 조건부 갱신은 함께 사용할 수 있습니다. 어떤 행을 언제 잠그는지, 같은 데이터를 사용하는 다른 기능이 어떤 조건으로 변경하는지를 함께 봤습니다.브랜드를 삭제하는 동안 새 상품이 등록된다면 어디까지 삭제된 것으로 봐야 할까요?주문 두 건이 같은 재고와 잔액을 사용한다면 무엇을 기준으로 성공을 결정해야 할까요?트..