728x90
반응형
목적
카프카 브로커의 버전 업그레이드 시 발생할 수 있는 사이드 이펙트를 사전파악 및 대응, 신기술에 대한 도입 검토하기 위함
Release note Clause
3.5.0
Notable Changes
- 키당 여러 레코드 버전을 저장할 수 있는 새로운 상태 저장소 유형인 "버전별 키-값 저장소"가 도입되어, 타임스탬프가 지정된 타임스탬프 기준의 최신 레코드(키당)를 반환하는 타임스탬프 검색 작업이 가능해짐
- Table 집계 시맨틱이 더욱 개선되어 이제 가짜 중간 결과를 방지함
- 카프카 스트림즈의 ProductionExceptionHandler가 개선되어 이제 직렬화 에러를 커버함
- 만료된 alterConfigs API 대신 미러메이커는 이제 토픽 설정을 동기화하기 위해 incrementalAlterConfigs API를 기본적으로 사용함. 또한 새로운 설정인 use.incremental.alter.configs는 어느 API를 사용할지 사용자가 지정할 수 있도록 함. 다음 메이저 버전에 이 옵션은 만료되고 제거됨
New Feature
- -
Improvement
- KafkaConsumer는 닫을 때 이것의 증분 fetch 세션도 닫도록 함
- 직렬화 예외를 커버하도록 ProductionExceptionHandler를 확장함
- 복구가 끝나면 체크포인트하도록 함
- ProducerCount 메트릭을 추가함
- KRaft 모드를 사용할 때 SCRAM를 지원함
- KRaft 내 컨트롤 뮤테이션 쿼타를 구현함
- Fetcher로부터 공통 로직을 추출함
- 환경 변수의 사용을 위해 ConfigProvvider를 추가함
- 카프카 스트림즈에 대한 클라이언트 공급자를 설정하기 위한 설정을 추가함
- transaction.timeout.ms에 대한 문서가 더욱 명확하게 변경됨
- ConcurrentModificationException 메시지 내 현재 스레드ID를 포함함
- 컨트롤러 인증을 위해 브로커에 대한 SCRAM를 추가함
- RemoteLogMetadata에 대한 메시지 포매터를 제공함
Bug
- 널허용 필드임에도 커넥트에서 JsonConverter가 널값을 기본값으로 바꾸는 버그가 수정됨
- 워커가 셧다운될 때 ConnectorClientConfigOverridePolicy가 닫히지 않는 버그가 수정됨
- Raft idle ratio가 정확하지 않는 버그가 수정됨
- 제거된 리스너가 재설정될 수 있는 버그가 수정됨
- 브로커에 권한 부여자가 설정되지 않은 경우 토픽 ACL을 동기화하는 동안 미러메이커2가 에러를 잘못 기록함
- base4 JSON 문자열을 역직렬화할 수 없는 버그가 수정됨
- 다중 인풋 파티션에 대해 Outer 스트림-스트림 조인이 모든 결과를 아웃풋할 수 없는 버그가 수정됨
- KafkaBasedLog의 무한 재시도가 StackOverflowError를 야기할 수 있는 버그가 수정됨
- 마이그레이션하는 동안 새로운 ACLs가 주키퍼에 쓰여지지 않는 버그가 수정됨
- 브로커 하트비트 타임아웃의 처리를 개선함
Task
- 전용 미러메이커2 클러스터 내 분산 모드 완벽 지원
- 프로세스 루프 내 한번 이상 state updater를 체크함
Test
- -
Sub-task
- -
- tiered storage 내 트랜잭션을 지원함
- KRaft 옵저버가 매번 append할 때마다 flush할 필요가 없도록 함
- GroupCoordinator 인터페이스를 도입함
- ConsumerGroupHeartbeat API를 추가함
- 컨슈머 랙이 설정되었다면 range assignor가 랙을 인식할 수 있도록 함
- 컨슈머 랙이 설정되었다면 sticky assingors가 랙을 인식할 수 있도록 함
- 새로운 __consumer_offsets 레코드를 추가함
- 커넥터에 대해 새로운 STOPPED 상태를 구현함
- 커넥터 오프셋 읽기 REST API를 구현함
- 오프셋 커밋 동안 토픽ID를 그룹 코디네이터에게 전파하도록 함
- 클라이언트 랙이 설정되었다면 레플리카 랙이 변경될 때 리밸런스를 발동함
3.5.1
Notable Changes
- 3.3.0에 도입된 security.protocol 설정이 대문자만 인식하는 버그가 수정됨. 이제 대소문자 구분 안함
New Feature
- -
Improvement
- -
Bug
- authorizer.class.name이 설정되면 KRaft 마이그레이션이 수행되지 않고 브로커가 죽는 버그가 수정됨
Task
- -
Test
- -
Sub-task
- -
3.5.2
Notable Changes
- 프로듀서ID 블록을 주키퍼에서 KRaft로 마이그레이션할 때, 트랜잭션 프로듀서 또는 idempotent 프로듀서에게 중복된 프로듀서 ID를 부여할 수 있음. 이것은 프로듀서ID가 오랫동안 유지되고 재사용되기 때문에 장기적인 문제를 야기할 수 있음
- 3.5.0과 3.5.1에서 롤링 업그레이드 중에 AlterPartition 요청 후 컨트롤러에서 빈 ISR이 반환되는 문제가 발생함. 이 문제는 토픽 파티션의 가용성에 영향을 미침
New Feature
- -
Improvement
- -
Bug
- block-cache-capacity 메트릭이 평소보다 두배나 증가되는 버그가 수정됨
- AlterPartition 요청 후에 컨트롤러로부터 비어있는 ISR이 반환되는 버그가 수정됨
- KRaft 모드에서 실행중에 실수로 LogManager가 CleanShutdown 파일을 생성하는 버그가 수정됨
- 커넥트 내 스케쥴링된 리밸런스 지연을 비활성화하면 커넥트와 타스크가 무기한 할당되지 않을수 있음
Task
- -
Test
- -
Sub-task
- -
참고
- 3.5.0 Release note doc
archive.apache.org/dist/kafka/3.5.0/RELEASE_NOTES.html - 3.5.1 Release note doc
archive.apache.org/dist/kafka/3.5.1/RELEASE_NOTES.html - 3.5.2 Release note doc
archive.apache.org/dist/kafka/3.5.2/RELEASE_NOTES.html - 3.5.0 - 3.5.1 Notable Changes doc
Apache Kafka - 3.5.2 Notable Changes doc
Apache Kafka
728x90
반응형
'Data PipeLine > Kafka' 카테고리의 다른 글
[Kafka] 카프카 시작 시 주키퍼 id 충돌 이슈 (0) | 2024.02.28 |
---|---|
[Kafka] 3.6.x Release note 주요 내용 정리 (0) | 2024.02.19 |
[Kafka] 3.4.x Release note 주요 내용 정리 (0) | 2024.02.17 |
[Kafka] 3.3.x Release note 주요 내용 정리 (0) | 2024.02.16 |
[Kafka] 3.2.x Release note 주요 내용 정리 (0) | 2024.02.14 |