본문 바로가기
Data PipeLine/Debezium

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

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

목적

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

툴별 버전별 호환성 표

Java 11+
Kafka Connect 1.x, 2.x
MySQL Database: 5.7, 8.0.x
Driver: 8.0.26
MongoDB Database: 3.2, 3.4, 3.6, 4.0, 4.2
Driver: 4.2.1
PostgreSQL Database: 9.6, 10, 11, 12, 13
Plug-ins: decoderbufs, wal2json, pgoutput
Driver: 42.2.22
Oracle Database: 12c, 19c
Driver: 12.2.0.1, 19.8.0.0, 21.1.0.0
SQL Server Database: 2017, 2019
Driver: 7.2.2.jre8
Cassandra Database: 3.11.4
Driver: 3.11.0
Db2 Database: 11.5
Driver: 11.5.0.0
Vitess Database: 8.0.x*, 9.0.x
Driver: 9.0.0
* See the Vitess Connector documentation for limitations when using the connector with earlier Vitess versions

Release Note 요약

Release 1.7.2.Final

Kafka 호환성

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

Breaking changes

  • 오라클 커넥터는 사용할 수 없는 CLOB/BLOB 컬럼에 대해 구분자 값을 사용하여 삽입함

New Features 

  • -

Fixes

  • 아파치 카프카와 주키퍼에 대한 컨테이너 이미지가 시작에 실패하는 버그가 수정됨
  • idle DB 환경에서 ORA-04030 에러와 함께 디비지움 log miner 프로세스가 종료되는 버그가 수정됨
  • 디비지움 메트릭이 올바르게 설정되지 않는 버그가 수정됨
  • 디비지움 커넥터에 일부 데이터 타입을 신호 보내는 작업이 수행되지 않는 버그가 수정됨
  • 테이블과 컬럼 길이 유효성 검사를 할 때 NullPointerException 예외가 발생할 수 있는 버그가 수정됨
  • MySQL 인덱스에 대한 JSON 함수가 지원되도록 수정됨
  • 증분 스냅샷이 테이블을 고르지 못하는 버그가 수정됨

Other changes

  • 증분 청크 사이즈 설정을 문서화함
  • MySQL JDBC 드라이버를 8.0.27로 업그레이드함


Release 1.7.1.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • LogMiner에 의해 허용되는 테이블/컬럼명이 최대치를 초과하면 경고를 로그함
  • MySQL 읽기전용 증분 스냅샷에 트랜잭션 시작/커밋 처리를 지원함

Fixes

  • LogMiner 쿼리 내 Row 해싱이 구문의 행 사이에 구분을 할 수 없는 버그가 수정됨
  • 증분 스냅샷에서 결합된 pk에 대해 청크 select문이 잘못 동작하는 버그가 수정됨
  • DB history가 끊임없이 재설정되는 버그가 수정됨
  • SQL Server 커넥터가 flat brackets 내에서 wrap하는 것을 실패하는 버그가 수정됨
  • 오라클 커넥터가 DDL 파싱 예외를 던지는 버그가 수정됨
  • pg 커넥터가 컬럼 기본 값을 NULL:numeric을 numeric으로 파싱할 수 없는 버그가 수정됨
  • 스키마 변화를 추적하다가 OOM 에러가 발생할 수 있는 버그가 수정됨
  • 프로듀서가 NullPinterException으로 실패하는 버그가 수정됨
  • Modify Column의 DDL 구문이 파싱될 수 없는 버그가 수정됨
  • CREATE PROCEDURE의 DDL문이 파싱 예외를 던지는 에러가 수정됨
  • DDL 구문에서 CHAR / NCHAR 정밀도를 정확히 추출할 수 없는 버그가 수정됨

Other changes

  • 아파치 카프카를 2.8.1로 업그레이드 함
  • max.iteration.transactions 옵션에 대한 누락된 문서를 추가함


Release 1.7.0.Final

Kafka 호환성

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

Breaking changes

  • 인큐베이팅 중인 카산드라 커넥터에 대해 UUID 컬럼의 데이터 형식 방출 방식이 달라짐. 예전에는 base64 표현식을 사용하여 "AA4AAFcZEqMAAAAAKDJ9Sg==" 였지만 이제 문자열 형식으로 "000e0000-5719-12a3-0000-000028327d4a"와 같이 보여짐

New Features 

  • 카산드라 cdc에 ProtobufConverter를 추가함

Fixes

  • 오라클 커넥터가 아카이브 only 모드에서 시작할 수 없는 버그가 수정됨
  • 카프카 컨테이너 이미지 내 잘못된 log dir location을 수정함
  • 재시작 후 테이블에 대한 증분 스냅샷 작업이 조기 종료될 수 있는 버그가 수정됨
  • LGWR 버퍼가 리두 로그로 flush되지 않아 오라클 커넥터가 일부 이벤트를 누락시키는 버그가 수정됨
  • pg jdbc 드라이버 버전이 일부 클라우드 환경 pg 인스턴스에서 연결 이슈를 야기할 수 있는 버그가 수정됨

Other changes

  • JSON 메시지에 대해 스키마를 활성화할 수 있는 방법을 문서화함


Release 1.7.0.CR2

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 증분 스냅샷 모드로 MySQL 읽기전용 연결이 지원됨

Fixes

  • 한동안 스냅샷이 수행되지 않은 후에 커넥션이 실패하는 버그가 수정됨
  • 오라클 커넥터가 DDL 문 파싱에 실패하는 버그가 수정됨
  • 오라클 커넥터가 truncate partition DDL 문 파싱에 실패하는 버그가 수정됨

Other changes

  • 오라클 doc에서 GRANT ALTER ANY TABLE 문을 제거함
  • snapshot.select.statement.overrides 파라미터 사용법에 대한 예시를 제공함


Release 1.7.0.CR1

Kafka 호환성

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

Breaking changes

  • 아파치 주키퍼, 카프카, 커넥트에 대한 컨테이너 이미지가 이제 Fedora base image를 사용함
  • 자바 업그레이드에 따라 안전하지 않은 TLSv1, TLSv1.1과 같은 이전 TLS 알고리즘은 1.7 컨테이너 이미지에서 기본적으로 사용할 수 없게 됨
    • 만약 DB가 현대의 TLS 연결을 받아들일 수 없다면 디비지움은 SSLHandshakeExcepction 에러를 내뱉으며 연결에 실패함
    • 이전 알고리즘을 꼭 사용해야 한다면, 카프카 커넥트에 대한 디비지움 컨테이너이미지에서 아래 파일의 jdk.tls.disableAlgorithms 키로부터 TLSv1, TLSv1.1 항목을 지울 것
      • /etc/crypto-policies/back-ends/java.config
      • /lib/jvm/jre/conf/security/java.security

New Features 

  • -

Fixes

  • 추가 로깅에 대한 doc 내 잘못된 정보를 수정함
  • pg 13버전에서 protobuf 디코더가 부호가 없는 long 타입을 부호가 있도록 전송하는 버그가 수정됨
  • MySQL 예시 이미지가 8.0으로 업그레이드 후 동작하지 않는 버그가 수정됨
  • 비어있는 HWM 체크를 수정함

Other changes

  • RelationSnapshotChangeEventSource가 RelationalDatabaseSchema를 허용하도록 함
  • 배포 후에 발생되는트랜잭션에 대해서만 커넥터가 메타데이터를 트랙하도록 doc를 명시화함

 

Release 1.7.0.Beta1

Kafka 호환성

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

Breaking changes

  • MySQL 드라이버가 최신 버전인 8.0.26로 업데이트 됨에 따라 새로운 timezone 처리와 설정 옵션이 추가됨. 자세한건 MySQL doc 참고

New Features 

  • Nats 스트리밍에 대한 싱크 어댑터가 추가됨

Fixes

  • MongoDB 커넥터에 대해 field.exclude.list에 대한 유효성 검사시 예외가 발생하는 버그가 수정됨
  • SQL Server cdc 이벤트 타임스탬프가 UTC를 변환할 수 없는 버그가 수정됨
  • pg 시퀀스 넘버의 LSN 컴포넌트가 갱신되지 않는 버그가 수정됨
  • 타스크가 시작되는 동안 SQL Server 커넥터가 탐색할 수 있는 에러를 처리하지 못하는 버그가 수정됨
  • MongoDB oplog로부터 읽을 때 타임아웃이 제어될 수 없는 버그가 수정됨
  • SQL Server 커넥터가 스트리밍을에 대해 테이블은 찾지만 스냅샷은 못하는 버그가 수정됨
  •  

Other changes

  • 아파치 카프카를 2.8로 업그레이드 함
  • 테스트에서 존재하지 않는 replication 슬롯을 drop할 때 에러를 로깅하지 않도록 함
  • 디비지움 API 스펙 발생기와 커넥터에 대한 static API 정의를 생성함


Release 1.7.0.Alpha1

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 오라클에 대한 증분 스냅샷을 구현함

Fixes

  • 카산드라 커넥터가 cdc 레코드에 대한 유효하지 않은 스키마명을 발생하는 버그가 수정됨

Other changes

  • -

참고

728x90
반응형