Aurora MySQL에서 복잡한 JSON 서브쿼리로 인한 Signal 11 Crash 원인 분석 및 대응법

✅ 문제 요약 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 더 읽기

Aurora MySQL Signal 11 Crash 분석과 Spring Boot 커넥션 오류 대응 전략

🧭 개요 2025년 3월 26일, AWS Aurora MySQL 환경에서 Signal 11로 인해 데이터베이스가 비정상 종료되는 장애가 발생했습니다. 이와 동시에 Spring Boot 기반의 배치 애플리케이션에서는 커넥션 풀 오류로 애플리케이션 구동 실패가 발생했으며, 이 글에서는 그 원인과 해결 방안을 상세히 정리합니다. ⏱ 장애 타임라인 요약 항목 시각 DB 다운 발생 2025-03-26 10:54:19 더 읽기

Aurora MySQL·RDS MariaDB에서 락 대기 타임아웃과 트랜잭션 롤백 구분하기

내용 정정: 이전 글의 “Aurora MariaDB”는 서로 다른 엔진을 혼동한 표현입니다. Aurora는 MySQL·PostgreSQL 호환 엔진이며 RDS for MariaDB와 구분해야 합니다. 아래에서는 MySQL 계열 InnoDB의 락 대기와 롤백 범위를 설명합니다. 실제 운영 엔진·버전은 배포 환경에서 확인해야 합니다. AWS Aurora 공식 소개. 락을 기다리는 시간과 락을 보유하는 시간은 다릅니다 innodb_lock_wait_timeout은 다른 트랜잭션의 더 읽기

Aurora MySQL·RDS MariaDB에서 Spring Batch 강제 종료 시 롤백 확인하기

내용 정정: “Aurora MariaDB”는 정확한 엔진 명칭이 아닙니다. Aurora MySQL과 RDS for MariaDB를 구분하고, 아래 설명은 InnoDB 트랜잭션을 전제로 읽어야 합니다. AWS Aurora 공식 소개. Pod가 종료되면 즉시 롤백될까? autocommit=false 자체가 Pod 종료 감지 기능은 아닙니다. DB가 연결 종료를 감지하면 해당 세션의 미커밋 트랜잭션은 롤백 대상이 됩니다. 이미 커밋된 청크와 더 읽기

AWS Aurora MySQL 환경에서 HikariCP keepaliveTime 적용 조건과 커넥션 관리

내용 정정: Aurora MySQL이라는 이유만으로 HikariCP keepaliveTime이 불필요하다고 단정할 수 없습니다. DB·프록시·방화벽의 연결 제한, 드라이버와 HikariCP 버전에 따라 판단해야 합니다. 기존의 “Aurora Proxy” 표기는 AWS 서비스명인 RDS Proxy로 바로잡습니다. keepaliveTime이 하는 일 HikariCP가 풀의 유휴 연결을 주기적으로 확인하는 설정입니다. 사용 중인 쿼리의 실행 시간을 제한하거나 Failover로 끊긴 트랜잭션을 복구하지는 않습니다. 더 읽기