본문 바로가기
Data PipeLine/Debezium

[Debezium] 2.4 Release Note 주요 내용 정리

by 연습장이 2024. 1. 29.
728x90
반응형

목적

  최신 버전 업그레이드 전, 영향도 평가하기 위함

 

툴별 버전별 호환성 표

Java 11+
Kafka Connect 2.x, 3.x
MySQL Database: 5.7, 8.0.x
Driver: 8.0.33
MongoDB Database: 4.4, 5.0, 6.0, 7.0
Driver: 4.7.1
PostgreSQL Database: 10, 11, 12, 13, 14, 15, 16
Plug-ins: decoderbufs, pgoutput
Driver: 42.6.0
Oracle Database: 12c, 19c, 21c
Driver: 12.2.x, 19.x, 21.x
OpenLogReplicator: 1.3.0
SQL Server Database: 2017, 2019
Driver: 10.2.1.jre8
Cassandra 3 Database: 3.11.12
Driver: 3.11.12
Cassandra 4 Database: 4.0.2
Driver: 4.14.0
Db2 Database: 11.5
Driver: 11.5.0.0
Spanner Database: 6.x
Driver: 6.x
Vitess Database: 12.0.x
Driver: 12.0.0*
* See the Vitess Connector documentation for limitations when using the connector with earlier Vitess versions
JDBC sink Databases: Db2, MySQL, Oracle, PostgreSQL, SQL Server

 

Release Note 요약

Release 2.4.2.Final

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes

  • -

New Features 

  • -

Fixes

  • 데이터타입이 double과 float로 형변환을 하면 JSON 필드에 대한 MySQL 인덱스 파싱이 실패하는 버그가 수정됨
  • REPLICA IDENTITY FULL로 설정되었음에도 변경되지 않는 toasted 배열 컬럼이 unavailable.value.placeholder로 대체되는 버그가 수정됨

Other changes

  • -


Release 2.4.1.Final

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes

  • -

New Features 

  • -

Fixes

  • 오라클이 CDC 데이터를 누락하는 버그가 수정됨
  • 싱크 커넥터에서 avro 타입이 아닌 컬럼명에 대한 대소문자 구분이 잘 되지 않는 버그가 수정됨
  • pg에서 jdbc 싱크의 bytea 필드가 적절히 처리되지 않는 버그가 수정됨
  • jdbc 싱크 로세스의 truncate 이벤트가 실패하는 버그가 수정됨
  • CSV 메타데이터 내 .metadata.aonnotations.repository 필드를 누락하는 버그가 수정됨
  • 디비지움에 내장된 Infinispan이 느리게 동작하는 버그가 수정됨

Other changes

  • 리소스 레이블과 annotations을 통합함


Release 2.4.0.Final

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes

  • -

New Features 

  • 알림에 타임스탬프를 추가함
  • MongoDB 커넥터 지원에 filtering.match.mode=regex|literal 속성을 추가함

Fixes

  • 타임존 변환이 제대로 동작하지 않는 버그가 수정됨
  • DDL 파서가 NOCOPY 키워드를 지원하지 않는 버그가 수정됨

Other changes

  • -


Release 2.4.0.CR1

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes

  • Vitess 커넥터는 기본적으로 오류의 하위 집합만 재시도 하였으나, 이제 명시적으로 정의된 오류만 재시도 하지 않음

New Features 

  • 몽고DB가 증분 스냅샷을 할 때 청크를 읽는 다중 스레드를 허용하도록 함
  • Pg16 버전을 지원함

Fixes

  • JSON 오브젝트의 목록으로부터 값이 생략되는 버그가 수정됨
  • DROP 이벤트가 잘못된 테이블 변화 정보를 가지는 버그가 수정됨

Other changes

  • 모든 mongodb.hosts에 대한 예시를 mongodb.connection.string로 옮김


Release 2.4.0.Beta2

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes

  • mongodb.hosts와 monodb.members.autodiscover 옵션과 같은 만료된 몽고DB 연결 설정이 제거됨. 이제 연결 관련 설정은 문자열이 지원됨

New Features 

  • SMT가 timezone 변환을 처리함
  • 몽고DB 커넥터에 대해 커스텀 인증이 지원됨
  • mongodb.authentication.class를 문서화함
  • 큰 컬럼들을 truncate하도록 지원함
  • Mongodb 7버전 지원을 추가함

Fixes

  • pk 내 enum 타입이 있는 테이블에 대해 pg 커낙터가 증분 스냅샷을 실패하는 버그가 수정됨
  • 스키마를 history topic에 스냅샷하느 동안 schema.history.internal.store.only.captured.databases.ddl 플래그가 고려되지 않는 버그가 수정됨
  • JDBC 커넥터에서 톰스톤 이벤트가 NPE를 야기하는 버그가 수정됨

Other changes

  • -


Release 2.4.0.Beta1

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes

  • -

New Features 

  • TimesacleDB 지원을 추가함
  • pg 커넥터에 대해 카프카 채널 컨슈머 그룹 ID를 설정할 수 있게 함
  • 내장된 infinispan 글로벌 설정이 설정될 수 있도록 함
  • DB에 아무 변화가 없을 때 sqlServer 커넥터가 하트비트를 전송함

Fixes

  • WAL에 쓰기 전에 디비지움 heartbeat.action.query가 시작되지 않는 버그가 수정됨
  • JdbcSink 커넥터 내에 quote.identifiers의 잘못된 행동이 수정됨

Other changes

  • skip.messages.without.change=true로 사용할 때, WARN 로그 메시지가 각 레코드마다 쓰여지도록 함


Release 2.4.0.Alpha2

Kafka 호환성

  • 카프카 커넥트 3.5.1, 카프카 브로커 3.5.1와 호환됨

Breaking changes    

  • 디비지움 서버 패키지가 카산드라 4 커넥터에서만 제공됨. 모든 커넥터는 이제 제공되지만 환경 변수는 이를 사용할 수 있도록 하나를 선택하기 위해 설정되어야 함
  • MySQL이 precise 모드에서 BIGINT에 대한 정밀도를 설정하지 않았음. 이제 정밀도가 설정되어 스키마 비호환성이 초래될 수 있음
  • Vitess 커넥터가 _bin의 collated 문자열 컬럼을 binary 데이터로 매핑했는데, 이제 해당 컬럼은 문자열로 올바르게 매핑함
  • Vitess 커넥터가 이전에는 모든 샤드에 대해 싘마 변화를 적용했음. 이제 각각의 샤드에 개별적으로 스키마 변경을 적용함. 만약 사용자가 io.debezium.schema.DefaultTopicNamingStrategy를 사용했다면 io.debezium.connector.vitess.TableTopicNamingStrategy로 바꿔야 같은 토픽이 보존됨. 이제 DefaultTopicNamingStrategy는 메시지를 변화가 발생된 샤드를 기반으로 토픽에 보냄

New Features

  • JDBC 커넥터가 SchemaChange 레코드를 받았을 때 적절한 에러가 로깅 되도록 함
  • 파티션 쿼리가 끝났을 때 톰스톤 이벤트가 보내지도록 함
  • 소스 컬럼명을 전파하고 이를 사용할 수 있도록 싱크함

Fixes

  • 커넥터 재시작이 회귀하는 버그가 수정됨
  • JDBC Schema History에 대해 테이블명이 dbname.tablename 형식으로 전달되면 커넥터가 시작되지 않는 버그가 수정됨
  • JDBC 싱크 커넥터를 사용했을 때 SQLSyntaxErrorException이 발생하는 버그가 수정됨

Other changes

  • XML와 RAW 데이터 타입에 대한 문서를 갱신함
  • 카프카를 3.5.1 버전으로 업그레이드함


Release 2.4.0.Alpha1

Kafka 호환성

  • 카프카 커넥트 3.5.0, 카프카 브로커 3.5.0와 호환됨

Breaking changes

  • 특정 시나리오에서는 선호되는 하드 코딩된 동작을 기본적으로 하도록 설정함. 이제 더이상 이렇게 동작하지 않고 연결 문자열 세팅이 사용됨
  • Vitess 커넥터 소스 정보가 이제 이벤트의 원천이었던 샤드 정보도 포함함

New Features 

  • 단일 DB나 컬렉션을 찾았을 때 클러스터 단위 권한을 필요로 하지 않음
  • 최초 스냅샷 과정을 알려줌
  • table.format.name 내 토픽에서 소스 필드를 사용함
  • 헤더로부터 pk를 얻도록 지원됨
  • 새로운 샤드 필드에 대한 doc가 갱신됨

Fixes

  • MySQL 커넥터가 FLUSH FIREWALL_RULES 문을 파싱하는데 실패하는 버그가 수정됨
  • 마지막 레코드가 필터링된 경우 스냅샷 결과가 저장되지 않는 버그가 수정됨
  • pg 드라이버를 42.6.0으로 업그레이드 함

Other changes

  • 실행중인 커넥터 메트릭을 표시하기 위해 API 엔드포인트를 추가함
  • 치명적인 커넥터 메릭을 표시함
  • schema history topic messages schema를 정의하고 문서화함
  • 커넥터 간 query.fetch.size를 조정함
  • 아파치 카프카를 3.5.0으로 업그레이드 함
  • 신호 액션을 확장할 수 있도록 함

 

참고

728x90
반응형