Vitess
v23.0.4Storage & Datav23.0.4는 VTOrc·VTGate·ERS의 패닉 및 데드락, VReplication과 라우팅 규칙의 무결성 버그를 집중적으로 수정한 패치 릴리스입니다.
breakingERS 또는 세미싱크 복제를 사용 중이라면 즉시 업그레이드 필요
ERS 관련 버그 세 건이 한꺼번에 수정됐습니다. errant GTID 감지 중 nil 포인터 패닉, 취소 로직 오류, 그리고 ERS 실패 후 레플리카 IO 스레드가 재시작되지 않는 문제입니다. 어느 하나라도 발생하면 페일오버 후 클러스터가 비정상 상태로 남을 수 있습니다. VTOrc로 세미싱크를 운영 중이라면 ReplicationStopped + PrimarySemiSyncBlocked 데드락 수정도 동일하게 중요합니다. 복구 자체가 완전히 멈출 수 있거든요. 늦어도 다음 유지보수 창 전에 업그레이드하세요.
securityGo 1.25.9 업그레이드 — 커스텀 빌드 환경 확인 필요
이번 릴리스 사이클에서 Go 런타임이 1.25.8에서 1.25.9로 올라갔습니다. 소스 빌드나 커스텀 이미지를 유지하고 있다면 go1.25.9로 재빌드해서 Go 패치 레벨의 런타임 수정사항을 반영하세요.
enhancement멀티 키스페이스 환경에서 라우팅 규칙 동작 재검증 권장
VTGate가 스키마 트래커 업데이트 후 라우팅 규칙을 재빌드하지 않고, 라우팅 규칙 AST 재작성 시 타깃 키스페이스를 유실하는 버그가 수정됐습니다. 두 버그 모두 쿼리는 성공처럼 보이지만 실제로는 엉뚱한 키스페이스로 라우팅될 수 있습니다. 멀티 키스페이스에서 라우팅 규칙을 쓰고 있다면 업그레이드 후 트래픽 경로를 반드시 검증하세요.
주요 변경 (5)
- VTOrc: ReplicationStopped + PrimarySemiSyncBlocked 동시 복구 시 발생하던 데드락 수정
- EmergencyReparentShard(ERS): errant GTID 감지 시 nil 포인터 패닉, reparentReplicas() 취소 로직 오류, ERS 실패 후 레플리카 IO 스레드 미재시작 수정
- VTGate: 스키마 트래커 업데이트 후 라우팅 규칙이 재빌드되지 않던 버그, AST 재작성 시 타깃 키스페이스가 유실되던 버그 수정 — 둘 다 쿼리가 잘못된 키스페이스로 라우팅될 수 있는 조용한 결함
- VTGate: 셧다운 이후 버퍼가 재시작되지 않도록 수정, 제어된 재시작 시 커넥션 폭증 방지
- Go 런타임 go1.25.9로 업그레이드, vitessdriver의 바이너리 결과값 문자열 반환 회귀 수정