핵심 요약
인프랩이 AWS Aurora PostgreSQL 래퍼 드라이버 환경에서 트랜잭션 종료 시 setReadOnly 호출로 인한 간헐적 에러를 분석하고, LazyConnectionDataSourceProxy 분기와 readOnlyDataSource 구성으로 해결한 사례를 공유합니다.
구현 방법
- LazyConnectionDataSourceProxy의 getTargetConnection에서 트랜잭션 readOnly에 따라 데이터 소스를 분기
- readOnlyDataSource를 활용해 읽기 전용 트랜잭션의 setReadOnly 호출을 피하도록 구성
주요 결과
- 에러 재현 및 원인 파악에 따른 안정성 확보
- 트랜잭션 분기 구성을 통해 가용성 유지


