Incident Library
적용된 필터 원인배포 결함구성 요소데이터베이스 프록시와 커넥션 풀러모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

  • 원인
  • 구성 요소
  • 증상
  • 기여 요인
  • 사례

사례3건

3건 중 1~3번째

  1. 증상

    Railway 백엔드 API 가 트래픽을 받지 못해 대시보드 접속, CLI 작업, GitHub 기반 배포 처리, 로그인, API 가 멈췄다. 이미 돌고 있던 배포는 계속 온라인이었고, 이 시스템들을 쓰지 않은 사용자는 영향을 받지 않았다.

    촉발

    엔지니어들이 15:03 UTC 에 데이터 마이그레이션이 들어간 데이터베이스 스키마 변경을 머지했다. 이 마이그레이션은 약 10억 행이 있고 많이 쓰는 테이블에 nullable 열을 더하는 것이었다.

    원인
    구성 요소
    기여 요인
    후속 조치
    • 데이터베이스 연결 수를 늘리고, PgBouncer 가 그 한도 안에서 동작하도록 다시 설정한다.
    • 오래 도는 쿼리를 고쳐 행 잠금 문제가 다시 나지 않게 한다.
  2. 증상

    2025-10-28 18:36 UTC 에 내부 모니터링 알림이 울려 엔지니어링 팀이 호출됐다. 대시보드가 열리지 않았고, railway up 처럼 API 를 쓰는 CLI 작업이 실패했으며, Public API 작업이 모두 멈췄다.

    촉발

    일상적인 Postgres 데이터베이스 변경으로 약 10억 행 테이블에 새 컬럼과 인덱스가 더해졌다. 인덱스 생성에 CONCURRENTLY 옵션을 쓰지 않아 테이블 전체에 배타적 잠금이 걸렸다.

    원인
    구성 요소
    기여 요인
    감지

    변경이 운영에 반영되고 2분 뒤인 18:36 UTC 에 내부 모니터링 알림이 울려 엔지니어링 팀이 호출됐다.

    조치
    • 인덱스를 만드는 마이그레이션이 약 30분 만에 끝나 테이블 잠금이 스스로 풀렸고, 줄을 선 작업이 처리되며 커넥션 풀이 정상으로 돌아왔다.
    후속 조치
    • CI 에서 모든 인덱스 생성에 CONCURRENTLY 사용을 강제하고, 지키지 않은 풀 리퀘스트는 머지 전에 막는다.
    • PgBouncer 커넥션 풀 한도를 조정해 뒤에 있는 Postgres 인스턴스의 용량을 넘지 않게 한다.
    • 데이터베이스 사용자별 커넥션 한도를 설정해 장애 중에도 관리용 접속을 보장하고, 어떤 상황에서도 유지 보수 작업을 할 수 있게 한다.
  3. 증상

    2025년 1월 29일 16:05 UTC 에 us-east-1 의 Supavisor 클라이언트 대다수가 연결이 끊겼고 다시 연결하는 데 자꾸 실패했다. Supavisor 는 Postgres 연결을 관리하는 연결 풀러다. Supabase Storage 연결도 함께 문제를 겪었다.

    촉발

    us-east-1 에 Supavisor 2.0 으로 올리는 메이저 업그레이드를 배포한 뒤, :ets.select_delete 작업이 실패해 ETS 테이블이 손상되었다.

    원인
    구성 요소
    기여 요인
    –
    조치
    • 16:11 UTC 에 이전 Supavisor 버전으로 롤백을 시작했고, 16:53 UTC 에 롤백이 끝나 이전 안정 버전으로 정상 동작이 돌아왔다.
    후속 조치
    • 롤백 시간을 40분에서 90초 안으로 줄인다.
    • 클라이언트 연결이 끊기는 것을 2분 안에 잡도록 알림을 고친다.
    교훈

    Supabase 는 이 장애로 롤백이 느리고, 부하가 걸린 상태에서 예상하지 못한 장애를 견디는 힘이 약하다는 점이 드러났다고 밝혔다. 앞으로 비슷한 배포 실패의 영향을 줄이려고 롤백 효율을 높이는 데 집중한다고 썼다.

내 클러스터에도 있는지 확인하기

이 3건에서 가장 많이 나오는 구성 요소: 데이터베이스, 데이터베이스 프록시와 커넥션 풀러. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별1