인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김대호님의 프로필 이미지
김대호

작성한 질문수

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

그 외 커맨드 라인 툴

카프카 데이터는 세그먼트단위로만 삭제가 되는게 아니었던건가요

작성

·

345

0

카프카 레코드삭제는 세그먼트 단위로만 가능하다고 말씀하신 앞선 강의와, kafka-delete-record가 상충되는거 같아 여쭙니다.
 
delete-record의 예시로 5를 주셨는데 만약 한 segment에 0 ~ 100까지의 레코드가 들어있다면 해당 옵션으로 segment는 6~100까지의 데이터를 들고있게 되는걸로 이해해도 괜찮을까요

답변 1

1

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

김대호님 답변드립니다.

세그먼트의 삭제(policy=delete)와 kafka-delete-records.sh의 동작은 상당히 다릅니다. kafka-delete-records.sh를 수행할 경우에는 low watermark를 특정 레코드에 지정합니다. 그리고 추후 클라이언트가 earliest로 메시지를 요청할 경우 low watermark이후 레코드부터 가져가도록 하는 것이죠. 

low watermark에 대한 동작방식과 자세한 설명은  https://cwiki.apache.org/confluence/display/KAFKA/KIP-107%3A+Add+deleteRecordsBefore%28%29+API+in+AdminClient 를 참고하세요!

김대호님의 프로필 이미지
김대호

작성한 질문수

질문하기