최근 글
모든 글 보기 →유니크 제약 걸고 재조회하면 되잖아 — 같은 트랜잭션 안에서는 안 됩니다
첫 로그인 JIT 프로비저닝의 경합을 유니크 제약 + 재조회로 막았다고 생각했는데, E2E에서 500이 떴다. Duplicate entry 로그 아래 딸려온 AssertionFailure 한 줄, 그 괄호 속 문장에서 Hibernate 세션 상태와 스프링 rollback-only까지 따라 내려간 기록. Hibernate 6.6.18 소스와 격리 하네스 20/20 재현으로 뒷받침했다.
2026-07-2333 min read
Kafka 컨슈머 group id를 제대로 설정하지 않으면 벌어지는 일여섯 개의 독립 서비스가 같은 group id 리터럴을 하드코딩하는 바람에 하나의 메가 컨슈머 그룹으로 묶였고, 리밸런싱 generation이 16,453까지 올라가 있었습니다. group id가 왜 격리 경계인지, 폭발 반경이 어떻게 중복 소비로 번지는지 원리부터 정리했습니다.
2026-07-0728 min read
간헐적으로만 실패하는 계약 생성 — Kafka 크로스 토픽 순서 race 포렌식retry가 우연히 맞아떨어져 돌아가던 이벤트 파이프라인. 두 토픽 사이의 순서 race를 로그로 재구성하고, 새 토픽 없이 발행자 게이트로 해결한 과정
2026-07-0236 min read
Text-to-SQL에서 암호화된 컬럼에 대응하는 법과 성능 비교평문 vs 딕셔너리 vs @태그 — 225회 실험으로 검증한 Fail-Silent의 함정
2026-04-2422 min read
일급 컬렉션에 HashMap 인덱스를 넣으면 규약 위반인가 — 성능과 설계 원칙의 충돌운영 코드에서 O(K×N) 탐색을 O(1)로 개선하려다 일급 컬렉션 규약과 부딪힌 경험. 원전부터 뒤져보고, 우회 방법과 트레이드오프를 정리한다
2026-04-2025 min read
4개월째 반복된 ECS CPU spike — JSON_EXTRACT full scan 해결기레거시 multi-tenant SaaS에서 반복되던 CPU spike를 추적하고 Generated Column으로 해결한 과정
2026-04-1713 min read