Kudu master가 std::length_error / vector::reserve 및 PlacementPolicy::SelectReplica·PlaceExtraTabletReplica stack과 함께 종료된다. range-aware replica placement를 사용 중이다.
원본 케이스는 유선 통화로 workaround 적용 후 Kudu master 정상 기동을 확인했다. CHF3 업그레이드 이후 실제로 이 설정을 다시 켜서 검증했는지는 원본에 기록되지 않았다.
enable_range_replica_placement=false로 설정해 임시로 master를 정상 기동시켰으며(workaround), 영구적인 수정은 CDP 7.1.9 CHF3 이상 버전에 포함돼 있어 해당 버전 이상으로 업그레이드하는 것이 권장된다.
확인 수준: 원본에서 해결 확인 · 실행 절차 보강
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
Kudu master 기동 실패가 이번 케이스처럼 겉보기 증상(마스터 비정상)이 비슷한 다른 케이스와 원인이 다를 수 있음을 먼저 인지한다. 로그에서 실제 실패 사유를 확인해 Ranger/TLS 문제인지, replica placement 관련 문제인지 구분한다.
enable_range_replica_placement 설정이 켜져 있는지 확인한다.
# Kudu master gflag 확인 (CM > Kudu > Configuration > gflagfile 관련 항목에서도 확인 가능)
kudu master get_flags '<master-host>:7051' --flags=enable_range_replica_placement
--enable_range_replica_placement=false
Kudu master가 정상적으로 기동되고 leader가 선출되는지 확인한다. 정상화되면 임시로는 이 설정값(false)을 유지할 수 있다.
근본적으로는 이 문제가 수정된 CDP 7.1.9 CHF3 이상 버전으로 업그레이드하는 것을 계획한다. 업그레이드 전까지 range replica placement 기능(레인지 파티셔닝 테이블의 replica 배치 최적화)은 비활성 상태로 운영됨을 감안한다.
CM 관리 환경에서는 생성된 /run 프로세스 파일을 직접 수정하지 않고 Kudu → Configuration → Master 역할의 gflagfile Safety Valve에 반영한다. KUDU-3532/CDPD-64527 수정은 7.1.9 CHF3 계열 기준이며 SP1의 CHF 번호와 혼동하지 않는다. 업그레이드 대상의 실제 수정 목록을 확인한다.
enable_range_replica_placement=false 적용 후 Kudu master가 정상 기동·유지되는지, CHF3 이상으로 업그레이드한 뒤에는 이 설정을 다시 켜도 문제가 재발하지 않는지 확인한다.