같은 노드의 TCP 연결과 kudu table list는 성공하지만 PutKudu의 ConnectToMaster·GetTableSchema가 timeout되고 NiFi heartbeat도 지연된다.
원본은 GC pause를 의심했지만 GC 로그가 없어 확정하지 못했다. timeout 확대는 조건부 완화이며 JVM·RPC·네트워크 중 원인을 확인한 뒤 해당 조치를 적용해야 한다.
NiFi JVM 정지와 Kudu RPC 포화를 같은 시각의 로그로 구분하고 해당 병목을 해소한다. 일시적 지연에는 PutKudu operation timeout을 늘려 재시험한다.
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
<nifi-pid>는 NiFi JVM PID이며 OS 권한이 필요하다.jstat -gcutil '<nifi-pid>' 1000 30
jcmd '<nifi-pid>' GC.heap_info
RPC queue full을 보고하면 요청 유입·Master CPU·RPC queue 길이를 확인한다. NiFi 동시 작업을 줄여 유입을 완화한 뒤 해당 Kudu 버전의 rpc_service_queue_length 조정을 검토한다. 큐 증가는 처리량 부족 자체를 해결하지 않는다.동일 부하에서 PutKudu 성공률, NiFi heartbeat 지연, GC pause, Master RPC queue가 개선되는지 확인하고 늘린 timeout을 유지할 필요가 있는지 재판단한다.