본문 바로가기
Data PipeLine/Debezium

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

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

목적

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

 

툴별 버전별 호환성 표

Java 11+
Kafka Connect 2.x, 3.x
MySQL Database: 5.7, 8.0.x
Driver: 8.0.32
MongoDB Database: 4.2, 4.4, 5.0, 6.0
Driver: 4.7.1
PostgreSQL Database: 10, 11, 12, 13, 14, 15
Plug-ins: decoderbufs, pgoutput
Driver: 42.5.1
Oracle Database: 12c, 19c, 21c
Driver: 12.2.0.1, 19.8.0.0, 21.1.0.0, 21.3.0.0, 21.4.0.0, 21.5.0.0, 21.6.0.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.2.1.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • log.mining.transaction.retention.hours 파라미터는 sysdate가 아니라 마지막 offset을 참조하도록 함

Fixes

  • Toasted varying chracter 배열과 date 배열이 올바르게 처리되지 않는 버그가 수정됨
  • "CREATE TABLE t (c NATIONAL CHAR)" 파싱이 실패하는 버그가 수정됨
  • Toasted hstore가 올바르게 처리되지 않는 버그가 수정됨
  • 오라클의 테이블 파티션에 대한 DDL shrink space 명령어가 파싱되지 않는 버그가 수정됨

Other changes

  • -


Release 2.2.0.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 디비지움 서버에 대한 pg 예시 설정을 서술함
  • OOM의 경우 레디스 싱크 내 메시지를 개선함

Fixes

  • column.include.list/column.exclude.list가 사용되고 타겟 테이블이 해당 제외 또는 포함이 아닌 컬럼에 대한 update를 받으면 해당 이벤트가 무시되는 버그가 수정됨
  • 인덱스가 테이블의 pk 컬럼에 의해 만들어졌을 때 타스크가 실패하는 버그가 수정됨

Other changes

  • -


Release 2.2.0.CR1

Kafka 호환성

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

Breaking changes

  • Quarkus 관련 패치인데 해당 서비스에 관련 없으므로 생략. 자세한건 Doc 참고

New Features 

  • 몽고DB 샤드에서 순서대로 이벤트를 캡쳐함
  • 카프카 토픽/설정에 대한 설정을 통해 전달함

Fixes

  • 실패된 재시도 가능한 연산이 영원히 재시도 되는 버그가 수정됨
  • 제외된 테이블에 대한 스키마 히스토리 토픽 내에 DDL 이벤트가 저장되지 않는 버그가 수정됨
  • end scn을 계산하기 위해 현재의 배치사이즈를 사용하는 오라클 경로가 잘못된 버그가 수정됨
  • 스냅샷만 뜰 경우 pg 커넥터가 logical WAL 레벨을 필요로 하지 않는 버그가 수정됨
  • 스냅샷만 뜰 경우 MySQL 커넥터가 binlog를 쿼리를 필요로 하지 않는 버그가 수정됨

Other changes

  • MySQL JDBC 드라이버를 8.0.32로 업그레이드 함
  • JDBC 싱크 커넥터에 대한 문서를 추가함
  • 오라클에서 SYS 유저 계정에 대한 오래된 정보를 제거함


Release 2.2.0.Beta1

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 디비지움 JDBC 싱크 커넥터가 추가됨
  • 커넥터를 갱신하기 위해 엔드포인트를 생성함
  • 커넥터 설정 내 DB role을 지원함

Fixes

  • 복제 슬롯이 confirmed_flush_lsn을 가지고 있지 않을 경우 pg 커넥터가 멈추는 버그가 수정됨

Other changes

  • 기본 설정인 REPLICA IDENTITY에 대해 message.key.columns와 톰스톤 이벤트 제한을 문서화함
  • doc 내 몽고DB 커넥터에 대한 설정 변화를 반영함
  • 업그레이드에 대한 지침을 디비지움 1.x에서 2.x로 제공함


Release 2.2.0.Alpha3

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 최초 스냅샷을 선택적으로 병렬화할 수 있음
  • MongDB change stream에 대해 서버 측 DB와 컬렉션을 필터링할 수 있음
  • 카산드라 커넥터에 Datastax 커넥터를 생성
  • 모든 디비지움 서버 싱크에 헤더에 대한 지원을 추가함
  • 증분 스냅샷에 대한 대체 키 지원을 추가함
  • MonogDB의 증분 스냅샷 내에 키에 대한 문자열 타입을 지원함
  • sqlserver doc 내 "evemts"를 "events"로 오타 수정함
  • 변화 스트리밍에 대해 필요로 하지 않는 system DB 예외의 하드코딩된 목록을 제거함

Fixes

  • snapshot.collcetion.include.list 옵션을 사용할 때 관계형 스키마가 올바로 채워지지 않는 버그가 수정됨
  • RelationalSnapChangeEventSource가 스냅샷 동안 발생된 예외를 삼키는 버그가 수정됨

Other changes

  • MySqlJdbcContext와 MySqlConnection 간 중복을 제거함
  • 몽고DB 커넥터 연결 관리를 리팩토링함


Release 2.2.0.Alpha2

Kafka 호환성

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

Breaking changes

  • 디비지움은 ASCII가 아닌 문자를 토픽과 스키마 내에서 "_"로 매핑을 함. 이경우 이름이 아스키가 아닌 문자로만 다른 경우 충돌이 발생할 수 있어 이제 문자를 고유하게 매핑하는 전략을 사용. 이에 따라 sanitize.field.names는 더이상 사용되지 않음

New Features 

  • 디비지움 GTID 사용에 대해 더 잘 컨트롤함
  • 변화되지 않은 필드를 제외하기 위해 "ExtractNewRecordState" SMT에 대한 새로운 옵션이 추가됨
  • query.fetch.size 기본값을 0보다 합리적으로 증가시킴
  • 카프카 클라이언트를 3.4.0으로 업그레이드함

Fixes

  • 디비지움 서버에서 모든 커넥터가 사용될수 없는 버그가 수정됨
  • MySQL doc에 event.processing.failure.handling.mode 속성이 나타나지 않았던 버그가 수정됨
  • 이름에 백슬래쉬(\)가 있는 컬럼이나 테이블을 포함한 목록을 구분할 수 없는 버그가 수정됨
  • 유저와 같은 role명에 대해 role revoke를 하는 DDL이 파싱 실패를 하는 버그가 수정됨
  • ALTER USER x DEFAULT ROLE y; 과 같은 DDL 문 파싱이 실패하는 버그가 수정됨
  • pg 커넥터에서 에러를 만났을 때 connect offsets topic에 대한 Offsets이 플러쉬 되지 않는 버그가 수정됨
  • DB의 수가 maxTasks보다 적으면 SQL Server tasks가 실패하는 버그가 수정됨

Other changes

  • MySqlConnectorConfig에서 중복되는 "schema.history.internal"이 제거됨
  • 카프카 버전을 3.3.2로 업그레이드함


Release 2.2.0.Alpha1

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 읽기전용 오라클 standby disaster/recovery로부터 읽기를 허용함
  • MySQL 커넥터에서 드라이버 클래스를 지정하는 옵션이 제거됨
  • s3 버킷을 디비지움 history 저장소로 지원함

Fixes

  • snapshot.select.statement.overrides tables에 대한 테이블 크기 로그 메시지가 올바르지 못한 버그가 수정됨
  • MySqlDatabaseSchema가 구분자를 포함한 DDL 문을 Log에 파싱할 수 없는 버그가 수정됨
  • pg 커넥터가 money 타입의 null 값을 0으로 파싱하는 버그가 수정됨

Other changes

  • 아카이브에서만 주키퍼 3.6.3을 사용할 수 있음
  • replaceAll보다는 replace를 사용할 것을 권장
  • JDBC 드라이버를 42.5.1로 업그레이드함

 

참고

728x90
반응형