Spring, JPA, MySQL 동시성 문제 해결하기 - 카운터 값 업데이트 시 발생하는 문제

March 14, 2024

저번 글에서 살펴본 건 데드락 문제였다. 락에 대한 더 자세한 내용은 저번 글을 한 번 읽고 오면 좋다. 이번에 찾은 문제는 race condition 문제이다. 프로젝트에 횟수를 세는 속성이 많다. 먼저 프로젝트를 간단히 설명하자면 작성자는 게시글로 을 만들고 투표할 수 있는 두 가지 선택지를 만든다. 그리고 다른 사용자들은 토픽에 투표, 댓글을 달 수…


Spring, JPA, MySQL 동시성 문제 해결하기 - 외래키가 데드락을 일으킬 수 있는 이유

March 13, 2024

아래 환경 기반 내용입니다. MySQL 8.0.33 Storage Engine: InnoDB (default) Transaction Isolation Level: REPEATABLE READ (default) Spring Data JPA 3.1 Hibernate 6.2 프로젝트를 개발하다가 갑자기 데드락을 만나게 되면서, 프로젝트의 데드락이나 race c…