문제 요약 AWS RDS에서 운영 중인 Aurora MySQL 8.0.28 기반의 인스턴스에서 특정 복잡 쿼리 실행 중 signal 11 (Segmentation Fault) 이 발생하여 인스턴스가 재시작되었습니다.
문제 쿼리 구조 (샘플 변환) SELECT m.user_id, IFNULL(SUM(IF(( SELECT IFNULL((LENGTH(log.json_column) – LENGTH(REPLACE(log.json_column, ‘sampleKey’, ”)) / 15), 0) FROM user_log log WHERE log.user_id = m.user_id 더 읽기
RDS
Aurora MySQL Signal 11 Crash 분석과 Spring Boot 커넥션 오류 대응 전략
개요 2025년 3월 26일, AWS Aurora MySQL 환경에서 Signal 11로 인해 데이터베이스가 비정상 종료되는 장애가 발생했습니다. 이와 동시에 Spring Boot 기반의 배치 애플리케이션에서는 커넥션 풀 오류로 애플리케이션 구동 실패가 발생했으며, 이 글에서는 그 원인과 해결 방안을 상세히 정리합니다.
장애 타임라인 요약 항목 시각 DB 다운 발생 2025-03-26 10:54:19 더 읽기
AWS Aurora MariaDB에서 락 발생 시 자동 롤백 설정 방법
AWS Aurora for MariaDB를 사용하다 보면 트랜잭션이 락을 점유한 상태로 오래 유지될 수 있습니다. 이렇게 되면 다른 트랜잭션이 대기해야 하며, 성능 저하나 데드락 문제가 발생할 수 있습니다. 이를 방지하기 위해 트랜잭션이 일정 시간 이상 락을 유지하면 자동으로 롤백되도록 설정하는 방법을 정리했습니다. 1. innodb_lock_wait_timeout 설정 (트랜잭션 대기 시간 제한) InnoDB에서 트랜잭션이 더 읽기
AWS Aurora MariaDB에서 autocommit=false 설정 시 Spring Batch 중단 시 트랜잭션 롤백 여부
1. 문제 상황 Spring Batch에서 AWS Aurora MariaDB를 사용하고 있으며, autocommit=false로 설정된 상태에서 작업 중 Pod 또는 Node가 강제 종료되면 미처리된 데이터가 자동으로 롤백될까, 아니면 락이 걸린 상태로 남아 있을까? 2. Aurora MariaDB의 트랜잭션 롤백 동작 Aurora MariaDB는 클라이언트 세션이 비정상적으로 종료되면 해당 세션의 트랜잭션을 자동으로 롤백한다.즉, 다음과 같은 상황에서는 더 읽기
AWS Aurora RDS(MySQL) 환경에서 HikariCP의 keepaliveTime이 필요 없는 이유
AWS Aurora RDS(MySQL 호환) 환경에서 HikariCP의 keepaliveTime 설정을 사용하지 않는 것이 더 좋다는 점에 대해 설명드립니다. Aurora는 일반적인 MySQL과는 다르게 커넥션을 관리하는 방식이 다르며, 이를 고려하여 커넥션 풀링 전략을 최적화하는 것이 중요합니다. 1. Aurora MySQL의 커넥션 관리 특성 Aurora MySQL은 MySQL과 호환되지만 내부적으로 분산 스토리지 아키텍처를 사용하고, 자동 장애 조치(Failover) 더 읽기