아카이브 글

트렌드 먼저 최근 운영 이슈와 시니어 해석만 빠르게 보기 개념부터 보강 심화 학습 글만 모아 체계적으로 따라가기 구현 문맥 보기 프로젝트 시리즈와 설계 변화만 이어서 보기

Go로 PostgreSQL 프록시 만들기 (23) - 커넥션 풀 오염과 Panic 격리

Go로 PostgreSQL 프록시 만들기 (23) - 커넥션 풀 오염과 Panic 격리

pgmux에서 발견된 두 가지 CRITICAL 버그 — 에러 시 오염된 커넥션이 풀에 반납되는 Protocol Desync와, 단일 panic이 전체 서버를 크래시시키는 Global Panic Vulnerability — 를 분석하고 수정한다.

Go로 PostgreSQL 프록시 만들기 (24) - 좀비 고루틴과 Dangling Pointer

Go로 PostgreSQL 프록시 만들기 (24) - 좀비 고루틴과 Dangling Pointer

pgmux에서 발견된 두 가지 CRITICAL 버그 — HTTP 클라이언트 끊김을 무시해 고루틴과 DB 커넥션이 영원히 블로킹되는 좀비 누수와, 핫-리로드 후 Admin/Data API가 닫힌 풀을 바라보는 Dangling Pointer — 를 분석하고 수정한다.

Go로 PostgreSQL 프록시 만들기 (27) - QA 라운드 2: 핫 리로드의 5가지 함정

Go로 PostgreSQL 프록시 만들기 (27) - QA 라운드 2: 핫 리로드의 5가지 함정

QA에서 발견된 5가지 버그 — Data API 인증 stale, 캐시 전파 누락, ConfigMap symlink 미감지, Reload 주석 불일치, 테스트 race — 의 원인 분석과 수정 과정을 정리한다.

Go로 PostgreSQL 프록시 만들기 (29) - WriteHeader 이후 헤더 동결과 테스트가 못 잡는 버그

Go로 PostgreSQL 프록시 만들기 (29) - WriteHeader 이후 헤더 동결과 테스트가 못 잡는 버그

WriteHeader 호출 이후 Content-Type이 사라지는 버그, SetReloadFunc data race, httptest.ResponseRecorder가 감지하지 못하는 회귀의 원인과 수정 과정을 정리한다.

Go로 PostgreSQL 프록시 만들기 (30) - AST 라우팅 사각지대와 캐시 무효화 실종

Go로 PostgreSQL 프록시 만들기 (30) - AST 라우팅 사각지대와 캐시 무효화 실종

QA 3차 리포트 5건 — AST 분류가 라우팅에 미반영, 캐시 테이블 무효화 no-op, 중복 파싱 5회/요청, 헬스체크 순차 지연, splitStatements 달러쿼팅 미처리 — 의 원인과 수정 과정을 정리한다.

Go로 PostgreSQL 프록시 만들기 (31) - 캐시 포맷 충돌과 HTTP 서버 수명주기

Go로 PostgreSQL 프록시 만들기 (31) - 캐시 포맷 충돌과 HTTP 서버 수명주기

QA 4차 리포트 5건 — 캐시 키 네임스페이스 부재로 JSON/wire 응답 충돌, 읽기 캐시 무효화 실종, balancer 상태 초기화, HTTP 서버 lifecycle 미관리, AST 재파싱 — 의 원인과 수정 과정을 정리한다.