Apache Kafka · Kafka Connect · open

PR #22533 — KAFKA-20657: JsonConverter BYTES uses ByteBuffer remaining bytes

Kafka Connect의 JsonConverter가 BYTES 값을 직렬화할 때 ByteBuffer.array()를 그대로 base64에 넣어 슬라이스 버퍼의 전체 backing array가 페이로드에 새어나가던 패턴을 position()/remaining() 기반으로 정리.

증상

JsonConverter가 BYTES 필드를 base64로 직렬화할 때 슬라이스/duplicate된 버퍼가 들어오면 자기 영역 밖 데이터까지 base64에 포함돼 JSON 페이로드에 잘못된 길이의 바이트가 들어갔습니다. 컨슈머가 다시 base64를 풀면 잘못된 BYTES.

수정

BYTES 직렬화 경로를 position()/remaining() 기반으로 통일. KAFKA-20656/20658/20666과 같은 계열.

관련 PR (시리즈)