Apache Kafka · Kafka Connect · open

PR #22534 — KAFKA-20658: Cast SMT honors ByteBuffer remaining bytes

Kafka Connect의 Cast Single Message Transformation에서 BYTES → BYTES 변환 시 ByteBuffer.array()를 그대로 가져다 쓰던 패턴을 position()/remaining() 기반으로 수정. 슬라이스 버퍼에서도 원본 값을 정확하게 전달.

증상

Cast SMT를 BYTES 필드에 적용하는 컨버터 체인에서, 슬라이스/duplicate된 ByteBuffer가 들어오면 자기 영역 밖 데이터까지 함께 cast 결과로 흘러나가는 케이스가 있었습니다. 결과: 다운스트림 컨버터/싱크가 잘못된 길이의 BYTES를 받음.

수정

Cast 경로의 BYTES 처리에서 buffer.array()position()/remaining()로 교체. KAFKA-20656/20657/20666과 같은 계열.

관련 PR (시리즈)