
데이터가 있었는데요, 아니 없어요
3
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
COMMIT, MVCC 그리고 SET AUTOCOMMIT 이슈 분석
이 게시물은 MariaDB와 Spring JPA 환경에서 발생한 데이터 조회 이슈와 그 원인 및 해결 방법에 대해 설명합니다.주요 이슈 및 원인
- hikari.auto-commit 설정이 false여서 COMMIT이 명시적으로 실행되지 않아 Snapshot 갱신이 지연됨
- open-in-view 설정이 true로 인해 Connection이 API 종료 시까지 유지되어 Snapshot이 갱신되지 않음
- 트랜잭션 격리 수준 REPEATABLE READ와 MVCC의 Consistent Nonlocking Reads 특성으로 인해 최신 데이터가 보이지 않는 현상 발생
해결 방법
- @Transactional(readOnly = true) 추가로 메서드 종료 시 COMMIT 실행 및 Snapshot 갱신
- 격리 수준 변경이나 잠금 읽기 사용 방법 대신 트랜잭션 설정 개선 선택
- hikari.auto-commit을 false로 설정하여 성능 향상 및 트랜잭션 관리 강화