본문 바로가기
Data PipeLine/Debezium

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

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

목적

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

 

툴별 버전별 호환성 표

Java 11+
Kafka Connect 1.x, 2.x, 3.x
MySQL Database: 5.7, 8.0.x
Driver: 8.0.27
MongoDB Database: 3.2, 3.4, 3.6, 4.0, 4.2, 4.4, 5.0
Driver: 4.3.3
PostgreSQL Database: 9.6, 10, 11, 12, 13, 14
Plug-ins: decoderbufs, wal2json, pgoutput
Driver: 42.2.24
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: 12.0.x
Driver: 12.0.0*
* See the Vitess Connector documentation for limitations when using the connector with earlier Vitess versions

 

Release Note 요약

Release 1.8.1.Final

Kafka 호환성

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

Breaking changes

  • 특정 LOB 이벤트의 저장을 지원하기 위해 Infinispan의 형식을 변경함. Infinispan 버퍼 캐시를 사용하고 LOB 지원을 활성화한다면 캐시 파일이 일단 지워져야 하고 새 스냅샷을 만들어야 적용이 됨
  • 아파치 카프카와 커넥트에 대한 디비지움 컨테이너 이미지가 카프카의 런타임 종속인 log4j 1.x 라이브러리를 포함함. 최근 해당 라이브러리에 포함된 몇몇 클래스가 취약하다고 보고가 됨. 자세한건 디비지움 doc 참고

New Features 

  • "No more data to read from socket" 에러가 발생하며 Mining 세션이 멈춤

Fixes

  • latin1테이블에 대한 MysqlSourceConnector 이슈가 수정됨
  • 오라클 LogMiner가 진행중인 트랜잭션 내에서 스냅샷 > 스트림으로 변화할 때 DB 변경을 누락하는 버그가 수정됨
  • Pg 커넥터에 대해 검색 가능한 백엔드 에러를 추가함
  • VIRTUAL 키워드를 포함한 DDML 문을 파싱할 때 오라클 커넥터가 실패하는 버그가 수정됨
  • 컬럼명이 seq일 때 io.debezium.text.ParsingException 예외가발생하는 버그가 수정됨
  • mongo-source-connector 설정 중에 database.include.list가 동작하지 않는 버그가 수정됨
  • 증분 스냅샷이 컬럼의 대소문자를 구분하지 못하는 버그가 수정됨
  • 오라클 커넥터가 SCN을 찾지 못하는 버그가 수정됨
  • ALTER TABLE ... MODIFY PARTITION...의 DDL 문을 파싱하는데 이슈가 발생하는 버그가 수정됨

Other changes

  • 새로운 배포 메커니즘을 반영하여 커넥터 doc를 갱신함
  • REST 확장 테스트는 소스 코드 버전을 의존하지 않게 됨
  • INTERNAL_KEY_CONVERTER와 INTERNAL_VALUE_CONVERTER 환경 변수를 제거함
  • 커넥터 증분 스냅샷 토픽에 대한 링크를 수정함
  • postgresql.adoc 내 snapshot.mode의 설명을 갱신함
  • postgres 드라이버를 42.3.2 버전으로 업그레이드함


Release 1.8.0.Final

Kafka 호환성

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

Breaking changes

  • MongoDB에서 새로운 다큐먼트 상태를 추출하는데 인큐베이팅 중인 SMT change 이벤트가 change 이벤트 값 내에 _id라는 필드의 도큐먼트 id를 전파함. 이는 이전에 사용했던 id 필드와의 충돌을 피하기 위함

New Features 

  • 최초 작업시 디비지움 커넥터에 대한 디비지움 스키마 발생기를 생성함

Fixes

  • 일부 데이터 타입이 디비ㅣ움 커넥터에 신호를 보내지 못하는 버그가 수정됨

Other changes

  • MonogDB 소스 포맷을 문서화함
  • 1.8버전의 디비지움 서버 배포에서 log4j를 제외함


Release 1.8.0.CR1

Kafka 호환성

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

Breaking changes

  • Vitess에 대한 디비지움 커넥터가 방출된 변화 이벤트의 "source" 블록 내에 새로운 속성인 "keyspace"를 노출함
  • Vitess 커넥터에서 2^63보다 큰 값에 대한 오버플로우를 피하기 위해 UINT64 컬럼의 매핑이 INT64에서 문자열로 변경됨
  • 인큐베이팅 중인 Vitess 커넥터에 의해 캡처된 변경 이벤트의 소스 블록 구조 중 아래가 변경됨
    • 옛 속성인 "schema"가 제거됨
    • db 속성이 이제 항상 공백임. 변경이 발생된 키스페이스는 "kespace" 속성을 통해 찾을 수 있음

New Features 

  • MongoDB에 대한 증분 스냅샷을 구현함
  • SQL Server 커넥터에 대한 UI JSON 스키마에 스키마 디스크립터를 추가함
  • 변화된 레코드의 전송 숫자를 로깅함
  • 오라클 커넥터에서 truncate문에 대한 지원을 추가함
  • 오라클 커넥터에 binary_handling_mode를 지원함

Fixes

  • catch_up 단계 동안 병렬 쓰기가 소실되는 버그가 수정됨
  • 오라클 커넥터의 스냅샷의 마지막 단계에서 NullPointer 예외가 발생하는 버그가 수정됨
  • "analyze table schema.table estimate statistics sample 5 percent" DDL 구문이 파싱될수 없는 버그가 수정됨
  • MySQL에서 GRANT의 DDL문(DCL아닌가?)이 파싱될 수 없는 버그가 수정됨

Other changes

  • MongoDB 변화 스트림즈를 기반으로한 cdc 구현을 완성함
  • 디비지움 카프카 커넥트 REST 확장을 생성함


Release 1.8.0.Beta1

Kafka 호환성

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

Breaking changes

  • Vitess 커넥터가 더이상 vtcld를 의존하지 않음
  • 오라클 커넥터가 사용할 수 없는 CLOB/BLOB 컬럼의 값에 구분자를 추가하여 삽입함

New Features 

  • pg_logical_emit_message를 지원함
  • 오라클에서 내부 타입 지원을 개선함
  • decimal.handling.mode에 의해 money 데이터 타입이 컨트롤 되어야 함
  • Sql Server Connector 마다 다중 DB를 지원함
  • Infinispan 캐시에 대한 설정 지원을 확장함
  • 증분 스냅샷 동안 스키마 변화를 지원함

Fixes

  • Pg 커넥터가 slot명에 numeric 포맷을 허용하지 않는 버그가 수정됨
  • SQL Server 커넥터가 같은 LSN으로 시작하는 같은 테이블에 대해 다중 캡처 인스턴스를 처리할 수 없는 버그가 수정됨

Other changes

  • 메모리와 Infinispan 이벤트 프로세서 구현을 통합함
  • MySQL JDBC 드라이버를 8.0.27로 업그레이드함
  • 로그 다양성을 감소함
  • 원격 Infinispan 캐시의 사용법을 보여주는 예시를 제공함
  • vitess 커넥터에 대한 트랜잭션 메타데이터를 활성화함


Release 1.8.0.Alpha2

Kafka 호환성

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

Breaking changes

  • 이전 버전에서는 버퍼링된 이벤트를 트랜잭션 데이터의 일부로 Infinispan 캐시에 저장하여 로드 시 메모리 문제를 일으킬 수 있었음. 이제 트랜잭션 메타데이터와 버퍼링된 이벤트를 서로 다른 캐시에 분리하여 트랜잭션 메타데이터 처리와 함께 데이터가 로드되지 않도록 함

New Features 

  • TableChangesSerializer가 defaultValue와 enumValues를 무시함
  • MySQL에서 하트비트 액션 쿼리에 대해 지원함
  • 트랜잭션 토픽네임을 설정으로서 노출함
  • 토픽 생성 단계를 개선함
  • MySQL 파서 내 모든 charsets을 지원함

Fixes

  • redis sink로 SQLServer 테이블의데이터를 삭제할 때 디비지움 서버가 충돌하는 버그가 수정됨
  • 기본값으로 캡쳐된 테이블 DDL에 대해 유효하지 않은 기본값이 발생하는 버그가 수정됨
  • 증분 스냅샷이 pk없이 수행되지 않는 버그가 수정됨
  • pk에 대한 기본으로 오라클 시퀀스가 포함된 DDL이 스키마 발생에 실패하는 버그가 수정됨
  • 스트리밍하는 동안 ORA-00310이 잘 처리되지 않는 예외가 수정됨
  • 오라클 커넥터가 DDL문 내에서 NUMBER(*,)를 NUMBER(0,0)으로 파싱하는 버그가 수정됨
  • 오라클 메모리 메트릭을 로깅의 다양성이 감소됨

Other changes

  • -


Release 1.8.0.Alpha1

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 디비지움 MS SQL 플러그인에 대한 케르베로스를 지원함
  • "snapshot.include.collection.list"도 table.include.list"처럼 대소문자 구분하도록 함
  • 사용자명을 트랜잭션 레벨에서 제외함
  • 오라클에서 SCHEMA_ONLY_RECOVERY 스냅샷 모드를 추가함
  • 테이블과 컬럼 코멘트를 파싱하도록 지원함
  • postgres JDBC 드라이버를 42.2.24 버전으로 업그레이드함
  • JSON 로깅 포매팅을 지원함
  • mysql-binlog-connector-java를 v0.25.4로 업그레이드함
  • MongoDB 커넥터가 사용자 정의 토픽 구분자를 지원함
  • mysql8 내 집계 비집계함수에 대한 "window" 키워드를 파싱함

Fixes

  • 오라클 커넥터에 대해 디비지움 빌드가 안정적이지 못한 버그가 수정됨
  • 증분 스냅샷 동안 청크를 읽는 중에 연결이 실패하는 버그가 수정됨
  • View에 대한 DDL을 파싱할 수 없는 버그가 수정됨

Other changes

  • GH 액션에 대한 자바 버전을 업그레이드함
  • 아파치 카프카를 3.0로 업그레이드함
  • 오라클 버퍼링 솔루션을 문서화함

 

참고

728x90
반응형