Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Objectoptimisticlockingfailureexception 핸들러 추가 #1073

Merged
merged 3 commits into from
Nov 24, 2024

Conversation

Soundbar91
Copy link
Contributor

🔥 연관 이슈

🚀 작업 내용

  • Objectoptimisticlockingfailureexception 예외 핸들러를 추가했습니다.

💬 리뷰 중점사항

스크린샷 2024-11-23 140420
스크린샷 2024-11-23 133225

한 주간 발생한 Objectoptimisticlockingfailureexception 예외는 StaleObjectStateException라는 예외를 매핑한 예외임을 확인했습니다. Objectoptimisticlockingfailureexception 예외는 낙관적 락 충돌 시 JPA 발생하는 예외, StaleObjectStateException는 하이버네이트에서 발생하는 예외라고 합니다.

코인에서는 @Version 혹은 @Lock 어노테이션을 통해 낙관적 락을 설정하는 부분이 잘 보이지 않았습니다. 관련해서 찾아보니 StaleObjectStateException 예외는 존재하지 않는 행을 삭제하거나 업데이트하려고 시도하는 경우에도 발생합니다.라고 합니다. 문서

해당 예외를 처리하는 방법에는 재시도 로직, 에러로 처리하는 방법 그리고 네이티브 쿼리로 처리하는 방법이 있다고 합니다.
참고 자료

현재 코인에서 재시도 로직을 넣을 만큼 크리티컬한가?라는 의문에는 아니다라고 생각을 했습니다. 재시도 로직이 필요하면, 해당 로직에 비관적 락 혹은 분산 락을 도입하는 방법이 더 낫다고 생각했기 때문입니다. 또한, 코인에서는 현재 사용자가 사용자의 데이터에 대한 수정 및 삭제가 주로 이뤄지기 때문에 큰 문제가 없다고 생각했습니다.

관련해서 의견 주시면 감사하겠습니다.

@Soundbar91 Soundbar91 added the 기능 새로운 기능을 개발합니다. label Nov 23, 2024
@Soundbar91 Soundbar91 self-assigned this Nov 23, 2024
Copy link

Unit Test Results

340 tests   339 ✔️  1m 25s ⏱️
  37 suites      1 💤
  37 files        0

Results for commit cc0e043.

Copy link
Member

@Choi-JJunho Choi-JJunho left a comment

Choose a reason for hiding this comment

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

PR 내용 꼼꼼하게 작성해주셔서 컨텍스트 이해하기 좋았어요 :)
말씀해주신 근거도 충분히 이해가 가고 warn 처리도 잘 된것 같네요 👍

Copy link
Contributor

@20HyeonsuLee 20HyeonsuLee left a comment

Choose a reason for hiding this comment

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

코인에서는 현재 사용자가 사용자의 데이터에 대한 수정 및 삭제가 주로 이뤄지기 때문에 큰 문제가 없다고 생각했습니다. 동의합니다~
꼼꼼하게 설명해주셔서 이해가 잘됐습니다👍

@Soundbar91 Soundbar91 merged commit 0a47f33 into develop Nov 24, 2024
4 checks passed
@Soundbar91 Soundbar91 deleted the feature/1039-optimistic-lock-exception-handler branch November 24, 2024 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
기능 새로운 기능을 개발합니다.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Objectoptimisticlockingfailureexception 핸들러 추가
3 participants