Skip to content

fix: V11 RLS 셀프락으로 부팅 실패 + 커넥션 풀 소진 해결 #57

Description

@pkdee

증상

  • 리비전 ieoseo-api--0000027 startup probe 무한 실패(약 하루째 crash 루프). api.ieoseo.app 는 옛 정상 리비전(0000023)이 트래픽 유지 → 헬스 200 이라 '배포 안 된 듯' 보였음.
  • FATAL: (EMAXCONNSESSION) max clients reached in session mode - max clients are limited to pool_size: 15

원인

  1. V11 셀프락: V11__enable_rls.sql 이 Flyway 가 이미 잠근 flyway_schema_historyENABLE ROW LEVEL SECURITY(ACCESS EXCLUSIVE)를 걸어 셀프 락 → statement timeout → 마이그레이션 실패 → 스프링 부팅 실패. V11 도입(fix: public 테이블 RLS 활성화(Supabase REST 노출 차단) #50) 이후 모든 리비전이 동일 원인으로 부팅 실패.
  2. 커넥션 풀 소진: HikariCP 기본 max=idle=10 → 리비전 공존/크래시루프 시 Supabase 풀러(session mode) 15 한도 초과.

조치

  • V11__enable_rls.sql 에서 flyway_schema_history RLS 줄 제거(이력 테이블엔 RLS 안 검). PostgreSQL DDL 트랜잭션 롤백이라 실패 행 안 남음 → 수정 후 재배포로 복구.
  • application-prod.ymlspring.datasource.hikari.maximum-pool-size=5·minimum-idle=1 추가.
  • docs 동기화: 가이드/azure/배포 트러블슈팅, 02-아키텍처/기술스택.

Metadata

Metadata

Assignees

Labels

fix버그 수정scope:server서버(Spring Boot)

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions