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

[BE] 일정 등록 API 데드락 문제 해결 #439

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

seokmyungham
Copy link
Contributor

@seokmyungham seokmyungham commented Nov 18, 2024

관련 이슈

작업 내용

일정 등록 API에서 발생하는 데드락 문제를 해결하였습니다.
문제 인식부터 해결 과정까지 전부 문서화하였습니다.
내용이 너무 길어 문서 링크를 대신 첨부합니다.

데드락 핸들링 (MySQL Gap Lock) Notion

  • 실패한 트랜잭션 재발행
  • 트랜잭션 격리 수준 변경

제가 고려한 해결 방안은 위 두가지이고, 격리 수준을 READ COMMITTED 로 변경하는 방법을 선택했습니다.
더 좋은 해결 방법이 있으면 공유 부탁드립니다 😀

특이 사항

리뷰 요구사항 (선택)

@seokmyungham seokmyungham added 🐞 버그 버그가 발생했어요 :( 🛠️ 픽스 버그를 해결했어요 :) labels Nov 18, 2024
@seokmyungham seokmyungham self-assigned this Nov 18, 2024
Copy link

Test Results

165 tests   165 ✅  22s ⏱️
 32 suites    0 💤
 32 files      0 ❌

Results for commit bfe5699.

@hw0603 hw0603 added the 🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :) label Nov 19, 2024
Copy link
Member

@hw0603 hw0603 left a comment

Choose a reason for hiding this comment

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

며칠동안 같이 삽질했던 기억이 떠올라서 아찔..하네요😂
문서화 해 주신 부분 잘 읽었습니다! 그림까지 직접 그려 주셔서 내용을 빠르게 복기하는데 도움이 됐어요.

서비스의 모토와 개발 공수를 고려했을 때, 해당 API에 대해서만 격리수준을 낮추는 선택이 효율적인 방향이라는 내용에 공감합니다.

이전에 대화하면서 언급해 주셨던 링크가 본문에는 첨부되어 있지 않아 코멘트에 레퍼런스로 남겨 두겠습니다~

@seokmyungham seokmyungham changed the title [BE] 일정 생성 API 데드락 문제 해결 [BE] 일정 등록 API 데드락 문제 해결 Nov 19, 2024
Copy link
Contributor

@ikjo39 ikjo39 left a comment

Choose a reason for hiding this comment

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

문서화 정말 잘 해주셨네요 재즈!
해결책에 대해 충분히 근거가 납득 가능하다 생각합니다 👍
정말 고민 많이 하셨을 것 같네요. 고생하셨습니다.

  • 코드 레벨에서도 팀 문서를 읽지 않아도 해당 조치의 의도를 이해하기 위해 주석으로 나타내주면 어떨까 제안드려봅니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :) 🐞 버그 버그가 발생했어요 :( 🛠️ 픽스 버그를 해결했어요 :)
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants