Skip to content

Conversation

@mmihye
Copy link
Member

@mmihye mmihye commented Apr 4, 2025

🚩 관련 이슈

📋 구현 기능 명세

  • 카테고리 수정시 락 설정

📌 PR Point

  • 무슨 이유로 어떻게 코드를 변경했는지
    카테고리 수정시 데드락 발생 -> 이전 요청이 끝나기전 다른 요청이 들어와 서로 변경하려는 category가 중복됨에 따라 데드락 발생
    -> 요청이 들어오면 변경할 카테고리들을 묶어서 락 설정 -> 트랜잭션이 끝나면 락 해제 ( 중간에 요청이 들어오면 대기)

  • 어떤 부분에 리뷰어가 집중해야 하는지
    카테고리 수정은 유저마다 이뤄지므로 분산락과 같은 전체적인 락보다 select for update를 사용하여 사용자별로 락을 거는것이 더 효율적이라고 생각되어 이렇게 수정해보았습니다~~

  • 개발하면서 어떤 점이 궁금했는지
    현재 락 timeout을 yml에 (노션에 수정해놓음 ) 전체적으로 5초로 설정해놓았는데 나중에 개별적으로 시간설정할수있도록 수정하면 좋을것같습니다. 5초는 괜찮을까요...?
    ‼️ 머지 되기전에 yml 업데이트 필요

📸 결과물 스크린샷

테스트 코드 실행 결과 ( 로그 있는 버전 - 지금은 로그 없앰)
트랜잭션1이 수행중일때 트랜잭션2가 들어오면 대기상태 -> 차례로 로직이 수행됨
스크린샷 2025-04-04 오전 11 52 49

🛠️ 테스트

  • 테스트

🚀 API Endpoint

@mmihye mmihye requested a review from sss4920 April 4, 2025 03:25
@mmihye mmihye self-assigned this Apr 4, 2025
Copy link
Collaborator

@sss4920 sss4920 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋은것 같습니다! 이 테스트에 있어서 저희 프로덕션에서도 혹시 잘돌아가나요? ddl none으로 해놓고 테스트 해주실수있나용??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 카테고리 변경로직 락

3 participants