Go로 PostgreSQL 프록시 만들기 (46) - QA 소견 6건과 운영 안전성 수정
QA에서 올라온 6건의 소견 — Pool race, credential 미갱신, XFF spoofing, reader 격리 실패, 캐시 write-only, 설정 오류 — 을 분석하고 수정한다.
QA에서 올라온 6건의 소견 — Pool race, credential 미갱신, XFF spoofing, reader 격리 실패, 캐시 write-only, 설정 오류 — 을 분석하고 수정한다.
QA 2차 소견 5건 — boundWriter cross-pool 오염, extended cache 파라미터 무시, Pool.Close outstanding borrow, writer CB reload 누락, watcher startup race — 을 분석하고 수정한다.
QA 3차 소견 6건 — fallback 경로 cross-pool 오염, extended cache 포맷 충돌, 깨진 연결 Release, Pool.Acquire close race, boundWriter discard 누락, circuit breaker 일관성 — 을 분석하고 수정한다.
pgmux에서 발견된 두 가지 CRITICAL 버그, COPY 프로토콜 교착과 Audit Logger의 무한 Map 메모리 누수를 분석하고 수정한다.
pgmux에서 발견된 두 가지 CRITICAL 버그 — 에러 시 오염된 커넥션이 풀에 반납되는 Protocol Desync와, 단일 panic이 전체 서버를 크래시시키는 Global Panic Vulnerability — 를 분석하고 수정한다.
pgmux에서 발견된 두 가지 CRITICAL 버그 — HTTP 클라이언트 끊김을 무시해 고루틴과 DB 커넥션이 영원히 블로킹되는 좀비 누수와, 핫-리로드 후 Admin/Data API가 닫힌 풀을 바라보는 Dangling Pointer — 를 분석하고 수정한다.
Webhook 동기 호출이 Audit 이벤트를 마비시키는 Channel Blocking과, 죽은 커넥션이 풀에 반환되는 Connection Poisoning 버그를 분석하고 수정한다.
설정 파일 Hot Reload 시 concurrent map read/write로 프록시가 즉사하는 Critical 버그를 분석하고, sync.RWMutex로 수정한다.