반응형
교훈 : 트랜잭션 단위로 서비스를 설계하자. 애그리거트 루트를 잘 설계하자. mysql 하나의 커넥션 내에서는 중첩 트랜직션이 안된다.
게시물 등록 시 오류가 발생해도 등록 처리되어 오류 수정 후 등록시 게시글이 다건 등록되는 오류가 접수되었다.
(내가 해당 기능 개발자는 아니다.)
해당 오류가 발생한 원인은 트랜잭셔널한 서비스 클래스의 최상위 메소드의 다른 메소드에서 커넥션을 인자로 받아 커밋하도록 만든 개발자의 실수였다.
원인은 단순했지만 디버깅하면서 재밌는 내용을 찾아 아래에 링크로 남겨둔다.
MySQL :: MySQL 5.7 Reference Manual :: 13.3.3 Statements That Cause an Implicit Commit
Transactions cannot be nested. This is a consequence of the implicit commit performed for any current transaction when you issue a START TRANSACTION statement or one of its synonyms.
반응형
'Career' 카테고리의 다른 글
그린랩스[Green Labs] 1차면접 후기 (0) | 2022.02.22 |
---|---|
[개발자장비]Mx keys for mac, mx master3 for max (0) | 2022.01.30 |
IT회사의 기획자와 개발자의 차이는 무엇인가, 기획자 VS 개발자 (0) | 2021.11.02 |
LG CNS 코딩테스트와 면접, 인턴전형 (0) | 2021.10.31 |
LG 진급교육 MVP 세션 B 내용 리뷰(10/21) (0) | 2021.10.21 |