RATATOSKRATATOSK
로그인

릴리즈

CNCF graduated·incubating 프로젝트 릴리즈 노트의 AI 분석.

프로젝트: Vitess해제 ×

Vitess

Storage & Data2026년 5월 7일

Vitess v24.0.1은 VTGate 쿼리 플래너의 DML 서브쿼리 버그 수정, 문제가 있던 VTOrc 플래그 되돌리기, VTTablet 불안정 테스트 해결에 집중한 패치 릴리스입니다.

  • breakingVTOrc --cells-to-watch 플래그 설정에서 제거하세요

    #19354에서 추가된 'cells to watch' 플래그가 이번 릴리스에서 완전히 롤백됐습니다. v24.0.0 업그레이드 후 VTOrc 설정이나 시작 스크립트에 해당 플래그를 추가했다면, v24.0.1로 올리기 전에 반드시 제거해야 합니다. 그렇지 않으면 VTOrc가 알 수 없는 플래그 오류로 기동에 실패합니다.

  • enhancementVTGate를 통해 DML 서브쿼리를 쓴다면 즉시 업그레이드하세요

    DML 문(INSERT/UPDATE/DELETE) 안의 IN/NOT IN 서브쿼리에서 플래너 버그가 있었습니다. 병합된 서브쿼리가 ListArg 플레이스홀더로 정상 치환되지 않아 잘못된 쿼리 결과가 나올 수 있었는데, 이번 패치로 수정됐습니다. VTGate를 통해 서브쿼리가 포함된 DML을 실행하는 환경이라면 빠른 업그레이드를 권장합니다.

주요 변경 (4)
  • VTGate 플래너 수정: DML IN/NOT IN 서브쿼리가 병합 후 ListArg 플레이스홀더를 올바르게 사용하도록 수정 — 쿼리 결과 오류 가능성 차단
  • VTOrc의 'cells to watch' 플래그(#19354) 롤백 — v24.0.0에서 해당 플래그를 적용했다면 설정에서 제거 필요
  • go/mysql 및 vreplication의 불안정 단위 테스트 공통 원인 수정 — CI 안정성 향상
  • vtcombo 시작 중 종료 시 최대 10분간 멈추던 문제 해결
원문

Vitess

Storage & Data2026년 5월 7일

v23.0.4는 VTOrc·VTGate·ERS의 패닉 및 데드락, VReplication과 라우팅 규칙의 무결성 버그를 집중적으로 수정한 패치 릴리스입니다.

  • securityGo 1.25.9 업그레이드 — 커스텀 빌드 환경 확인 필요

    이번 릴리스 사이클에서 Go 런타임이 1.25.8에서 1.25.9로 올라갔습니다. 소스 빌드나 커스텀 이미지를 유지하고 있다면 go1.25.9로 재빌드해서 Go 패치 레벨의 런타임 수정사항을 반영하세요.

  • breakingERS 또는 세미싱크 복제를 사용 중이라면 즉시 업그레이드 필요

    ERS 관련 버그 세 건이 한꺼번에 수정됐습니다. errant GTID 감지 중 nil 포인터 패닉, 취소 로직 오류, 그리고 ERS 실패 후 레플리카 IO 스레드가 재시작되지 않는 문제입니다. 어느 하나라도 발생하면 페일오버 후 클러스터가 비정상 상태로 남을 수 있습니다. VTOrc로 세미싱크를 운영 중이라면 ReplicationStopped + PrimarySemiSyncBlocked 데드락 수정도 동일하게 중요합니다. 복구 자체가 완전히 멈출 수 있거든요. 늦어도 다음 유지보수 창 전에 업그레이드하세요.

  • enhancement멀티 키스페이스 환경에서 라우팅 규칙 동작 재검증 권장

    VTGate가 스키마 트래커 업데이트 후 라우팅 규칙을 재빌드하지 않고, 라우팅 규칙 AST 재작성 시 타깃 키스페이스를 유실하는 버그가 수정됐습니다. 두 버그 모두 쿼리는 성공처럼 보이지만 실제로는 엉뚱한 키스페이스로 라우팅될 수 있습니다. 멀티 키스페이스에서 라우팅 규칙을 쓰고 있다면 업그레이드 후 트래픽 경로를 반드시 검증하세요.

주요 변경 (5)
  • VTOrc: ReplicationStopped + PrimarySemiSyncBlocked 동시 복구 시 발생하던 데드락 수정
  • EmergencyReparentShard(ERS): errant GTID 감지 시 nil 포인터 패닉, reparentReplicas() 취소 로직 오류, ERS 실패 후 레플리카 IO 스레드 미재시작 수정
  • VTGate: 스키마 트래커 업데이트 후 라우팅 규칙이 재빌드되지 않던 버그, AST 재작성 시 타깃 키스페이스가 유실되던 버그 수정 — 둘 다 쿼리가 잘못된 키스페이스로 라우팅될 수 있는 조용한 결함
  • VTGate: 셧다운 이후 버퍼가 재시작되지 않도록 수정, 제어된 재시작 시 커넥션 폭증 방지
  • Go 런타임 go1.25.9로 업그레이드, vitessdriver의 바이너리 결과값 문자열 반환 회귀 수정
원문

Vitess

Storage & Data2026년 4월 30일

Vitess v24는 구조화 JSON 로깅을 기본 채택하고, 샤드 키스페이스에서 윈도우 함수 푸시다운을 지원하며, 백업 MANIFEST 명령 주입 취약점을 차단합니다. 총 460개 PR이 병합됐습니다.

  • security백업 MANIFEST 명령 주입 취약점 기본 차단

    v24 이전에는 백업 스토리지 쓰기 권한을 가진 공격자가 MANIFEST 파일을 수정해 VTTablet 복구 시 임의 셸 명령을 실행할 수 있었습니다. v24부터 --external-decompressor-use-manifest 플래그 없이는 MANIFEST의 압축 해제 명령이 무시됩니다. v23 이하를 운영 중이라면 백업 스토리지 접근 제어를 보안 경계로 간주하고 쓰기 권한 보유자를 즉시 감사하세요.

  • breaking백업 복구 설정에서 MANIFEST 압축 해제 동작 확인 필요

    --external-decompressor 플래그 없이 MANIFEST에 저장된 명령으로 압축 해제에 의존하던 환경이라면, v24에서 복구 시 압축 해제가 묵시적으로 건너뛰어져 복구 자체가 실패할 수 있습니다. 기존 동작을 유지하려면 VTTablet 설정에 --external-decompressor-use-manifest를 추가하세요. 다만 보안 고려가 필요합니다 — 백업 스토리지 쓰기 권한이 있는 공격자가 임의 명령을 실행할 수 있는 경로가 됩니다. --external-decompressor로 명시적으로 전달하는 방식으로 전환하는 것이 더 안전합니다.

  • breakingVTOrc API 엔드포인트와 메트릭 참조 즉시 교체

    /api/replication-analysis는 v24에서 404를 반환합니다. 해당 URL을 호출하는 모니터링 스크립트, Grafana 대시보드, 알림 규칙이 있다면 프로덕션 배포 전에 /api/detection-analysis로 전환하세요 (파라미터와 응답 형식 동일). DiscoverInstanceTimings를 사용하는 대시보드도 DiscoveryInstanceTimings로 교체해야 합니다.

  • enhancementOpenTelemetry 트레이싱 마이그레이션은 지금 하세요

    opentracing-jaeger와 opentracing-datadog는 v24에서 지원 중단 경고가 나오고 v25에서 완전히 제거됩니다. 마이그레이션 자체는 간단합니다. --tracer opentracing-jaeger를 --tracer opentelemetry로, --jaeger-agent-host host:port를 --otel-endpoint host:4317로 바꾸면 됩니다. Jaeger v1.35 이상은 기본적으로 4317 포트에서 OTLP를 수신하고, Datadog는 Agent의 OTLP 수집 엔드포인트를 사용하면 됩니다. 이번 업그레이드 주기에 처리하는 편이 낫습니다.

  • enhancementVTOrc에 --cell 플래그 지금 추가하세요

    v24에서는 선택 사항이지만 v25부터 필수가 됩니다. 멀티셀 환경이라면 지금 추가하는 것이 좋습니다. 기동 시 토폴로지 검증으로 설정 오류를 조기에 잡을 수 있고, 향후 VTOrc의 크로스셀 복구 로직도 이 플래그를 기반으로 동작할 예정입니다. 다운타임 없이 플래그 하나로 v25 강제 변경을 미리 피할 수 있습니다.

주요 변경 (6)
  • 구조화 JSON 로깅이 기본값으로 변경 (사람이 읽기 쉬운 형식은 --log-format=text; glog는 v25에서 제거)
  • PARTITION BY 절이 유니크 vindex와 일치할 때 윈도우 함수를 샤드별로 푸시다운 가능 — 단일 샤드 라우팅 강제 해제
  • 백업 MANIFEST의 외부 압축 해제 명령을 기본적으로 무시 (보안 수정); --external-decompressor-use-manifest 플래그로 명시적 opt-in 필요
  • OpenTracing 백엔드(jaeger, datadog) 지원 중단 예고 — v25 이전에 --tracer opentelemetry로 마이그레이션 필요
  • VTOrc /api/replication-analysis 엔드포인트와 DiscoverInstanceTimings 메트릭 제거 — 대시보드 및 스크립트 즉시 업데이트 필요
  • VTGate의 --grpc-send-session-in-streaming 플래그 제거 — 스트리밍 응답에서 세션이 항상 전송됨
원문

Vitess

Storage & Data2026년 2월 27일

백업 MANIFEST 파일 취약점과 관련된 두 개의 중요한 CVE를 해결한 보안 중심 릴리스로, 임의 명령 실행 및 경로 순회 공격을 방지합니다.

  • securityCVE-2026-27965 및 CVE-2026-27969에 대한 즉시 업그레이드 필요

    두 개의 중요한 CVE로 인해 백업 저장소 쓰기 권한을 가진 공격자가 임의 명령을 실행하고 경로 순회 공격을 수행할 수 있습니다. 즉시 v22.0.4로 업그레이드하고 신뢰할 수 있는 주체만 쓰기 권한을 갖도록 백업 저장소 접근 제어를 검토하세요.

  • security백업 저장소 접근 권한 감사 및 보안 강화

    이러한 취약점은 백업 저장소에 대한 쓰기 권한이 필요하므로, 백업 위치에 대한 쓰기 권한을 가진 주체를 검토하세요. 적절한 접근 제어를 구현하고 가능한 경우 변조를 방지하기 위해 불변 백업 저장소 사용을 고려하세요.

  • breakingMANIFEST 기반 압축 해제기 사용 시 VTTablet 구성 업데이트

    MANIFEST 파일의 외부 압축 해제 명령이 기본적으로 무시됩니다. 복원 프로세스가 이 동작에 의존하는 경우 VTTablet 구성에 --external-decompressor-use-manifest 플래그를 추가하되, 이로 인해 보안 위험이 다시 발생할 수 있음을 이해하세요.

주요 변경 (4)
  • 백업 MANIFEST 파일의 외부 압축 해제 명령이 기본적으로 더 이상 사용되지 않음
  • MANIFEST 파일 수정을 통한 경로 순회 공격 방지
  • MANIFEST 기반 압축 해제기에 대한 명시적 선택을 위한 --external-decompressor-use-manifest 플래그 추가
  • 보안 중심 개선사항이 포함된 37개의 병합된 풀 리퀘스트
원문

Vitess

Storage & Data2026년 2월 27일

Vitess v23.0.3은 백업 복원 취약점과 관련된 두 개의 CVE를 해결하는 중요한 보안 릴리스이며, 외부 압축 해제기 처리에 중단 변경사항이 포함되어 있습니다.

  • security백업 보안을 위한 즉시 업그레이드 필요

    이번 릴리스는 백업 스토리지에 쓰기 권한을 가진 공격자가 임의 명령어를 실행하거나 경로 탐색 공격을 수행할 수 있는 중요한 취약점(CVE-2026-27965, CVE-2026-27969)을 수정합니다. Vitess 백업을 사용하는 경우, 특히 백업 스토리지가 침해될 수 있는 환경에서는 즉시 업그레이드하시기 바랍니다. 백업 스토리지 액세스 제어를 검토하고 최근 백업 작업에서 의심스러운 활동이 있는지 감사하시기 바랍니다.

  • breaking외부 압축 해제기를 위한 VTTablet 구성 업데이트 필요

    백업/복원 프로세스가 MANIFEST 파일에 정의된 외부 압축 해제기에 의존하는 경우, VTTablet 구성에 --external-decompressor-use-manifest 플래그를 추가해야 합니다. 이 플래그 없이는 MANIFEST에서 지정된 압축 해제기에 의존하는 복원이 실패할 수 있습니다. 백업 전략을 검토하고 더 나은 보안을 위해 MANIFEST 파일에 의존하는 대신 압축 해제기 명령어를 명시적으로 구성하시기 바랍니다.

  • enhancement백업 보안 체계 강화

    이번 기회에 백업 보안 관행을 검토하고 강화하시기 바랍니다. 백업 스토리지에 엄격한 액세스 제어를 구현하고, 최소 권한을 가진 전용 서비스 계정을 사용하며, 백업 스토리지 암호화를 고려하시기 바랍니다. 새로운 보안 모델은 더 나은 격리를 제공하지만 백업 메타데이터를 신뢰하는 대신 압축 해제 도구의 명시적 구성이 필요합니다.

주요 변경 (5)
  • 백업 MANIFEST 파일의 외부 압축 해제기 명령어가 복원 시 기본적으로 사용되지 않음
  • MANIFEST 기반 압축 해제기 사용을 명시적으로 선택할 수 있는 --external-decompressor-use-manifest 플래그 추가
  • 백업 복원 중 임의 파일 쓰기를 방지하는 경로 탐색 공격 보호 기능 구현
  • 백업 보안 취약점과 관련된 CVE-2026-27965 및 CVE-2026-27969 수정
  • 보안 개선에 중점을 둔 22개의 병합된 풀 리퀘스트
원문