본문 바로가기
Data PipeLine/Debezium

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

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

목적

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

툴별 버전별 호환성 표

Java 11+
Kafka Connect 1.x, 2.x
MySQL Database: 5.7, 8.0.x
Driver: 8.0.21
MongoDB Database: 3.2, 3.4, 3.6, 4.0, 4.2
Driver: 4.2.1
PostgreSQL Database: 9.6, 10, 11, 12
Driver: 42.2.14
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.6.4.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • -

Fixes

  • DML 명령문이 파싱되지 않을 수 있는 버그가 수정됨
  • DB 환경이 idle 상태에서 ORA-04030 에러와함께 디비지움 LogMiner 프로세스가 종료되는 버그가 수정됨
  • DDL 명령문으로부터 CHAR/NCHAR 정밀도가 올바르지 않는 버그가 수정됨

Other changes

  • MySQL JDBC 드라이버를 8.0.27로 업그레이드함

Release 1.6.3.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 오라클 커넥터가 사용자 친화적인 방법으로 SCN을 갱신함

Fixes

  • PG 서버가 멈춘 후에도 PG 커넥터가 동작하고 있는 상태로 유지되는 버그가 수정됨
  • 오라클 커넥터가 archive only mode에서 시작할 수 없는 버그가 수정됨
  • 명령문의 행 사이에서 LogMiner 쿼리가 Row 해싱을 구별할 수 없는 버그가 수정됨
  • 오라클 커넥터가 truncate partition 명령문을 파싱하는데 실패하는 버그가 수정됨
  • 재시작 후에 테이블의 증분 스냅샷 작업이 조기 종료되는 버그가 수정됨
  • LGWR 버퍼가 리두 로그로 flush 되지 못해서 오라클 커넥터에 의해 이벤트가 누락되는 버그가 수정됨
  • 스키마 변화를 추적하면서 OOM 에러가 발생할 수 있는 버그가 수정됨

Other changes

  • meesage.key.columns에 대한 잘못된 doc 내용이 수정됨
  • 오라클 커넥터 doc에서 GRANT ALTER ANY TABLE을 제거함

Release 1.6.2.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • -

Fixes

  • 오라클 LogMiner DdlParser가 에러가 발생하는 버그가 수정됨
  • 디비지움 snapshot.select.statmenet.overrides 덮어쓰기가 동작하지 않는 버그가 수정됨
  • getTableColumnsFromDatabase 예외가 발생하는 버그가 수정됨
  • MySQL 5.7.28의 TIME 필드가 null 대신 비어있는 blob 타입을 반환하면 충돌이 발생하는 버그가 수정됨
  • 디비지움 1.6.1에서 database.url이 설정 파라미터에 주어졌음에도 database.port를 요구하는 버그가 수정됨
  • Postgres의 numeric default 값이 예외를 던지는 버그가 수정됨
  • 오라클에서 DDL 이슈를 파싱할 수 없는 버그가 수정됨
  • PK를 DROP하는 오라클 DDL문을 파싱하는 에러가 수정됨
  • 존재하지 않는 테이블 내 컬럼을 변경하려고 시도할 경우 디비지움 프로듀서가 갑자기 중단되는 버그가 수정됨
  • "binary.handling.mode": "hex" 설정이 값의 끝부분이 0이면 잘못 동작하는 버그가 수정됨

Other changes

  • doc 내 SMT 조건에 대해 논의가 진행됨
  • 스냅샷 지표에 대한 생명주기를 명확하게 함

Release 1.6.1.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • -

Fixes

  • MySql 8.0.23 이상 버전에 보이지 않는 컬럼을 지원함
  • DB2 커넥터가 유효성 연결 설정을 할 수 없는 버그가 수정됨
  • create role 문을 실행 후 MySQL 커넥터가 에러를 반환하는 버그가 수정됨
  • database.history.skip.unparseable.ddl 파라미터를 사용해도 쿼리를 파싱하는데 에러가 발생하는 버그가 수정됨
  • MySQL 무넙에서 누락된 TABLE_TYPE을 지원함
  • 증분 스냅샷 수행동안 mysql 커넥터 플러그인이 SQL 문법 에러를 던지는 버그가 수정됨

Other changes

  • 커넥터 재작성에 대한 문서를 명확하게 함
  • 정합성에 대한 오라클 커넥터 배포 가이드를 갱신함

Release 1.6.0.Final

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • 오라클 아카이브 로그 location을 명시하는 것을 허용함

Fixes

  • 제외된 DB의 스키마 변경 이벤트를 버리도록 수정됨
  • 아카이브 로그에 아직 없는 offset SCN에 대해 log.mining.archive.log.only.mode를 활성화하면 설명 오류를 표시하도록 수정됨
  • LOB 지원이 불가되면 레거시 SCN mining 알고리즘을 사용하도록 수정됨

Other changes

  • 오라클 커넥터 doc를 수정함
  • DEBUG 수준에서 로그 메시지의 최대 배치 사이즈에 도달하면 변경하도록 함
  • 사용하지 않는 코드를 제거함
  • 디비지움 smt에 대한 만료된 설정을 갱신함

Release 1.6.0.CR1

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • SQLServer에 대해 SKIPPED_OPERATIONS을 구현함
  • 스키마를 회복하는 동안 db 연결 타임아웃을 핸들링할 수 있음
  • 제공된 경우 include/exclude 목록에 채굴된 DDL 이벤트 범위를 지정함
  • 낮은 변경 이벤트 활동의 주기에 대한 하트비트를 지원함

Fixes

  • 테이블을 찾을 수 없다는 예외가 수정됨
  • 롤에 대한 GRANT/REVOKE가 동작하지 않는 버그가 수정딤
  • 오라클 커넥터가 지속적으로 이미 처리된 트랜잭션에 대해 경고를 계속 로깅하도록 함
  • UTF-8 문자열을 다룰 때 StringIndexOutOfBoundsException 예외가 발생하는 버그가 수정됨

Other changes

  • 커넥터 패스워드에 대한 갱신된 json 구조를 처리함
  • opt-in 기능에 대한 CLOB/BLOB 데이터 타입 지원을 변경함

Release 1.6.0.Beta2

Kafka 호환성

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

Breaking changes

  • -

New Features 

  • MySQL와 마리아DB 사용에 대해 명확하게 함
  • postgresql에서 컬럼에 default 값을 추출하지 않도록 함
  • snapshot.include.collection.list에 대한 지원을 추가함
  • 카산드라 커넥터에서 SchemaProcessor를 제거함
  • 오라클에 snapshot.locking.mode 옵션을 추가함
  • MySQL 파서 내 JSON 함수에 대한 지원을 구현함

Fixes

  • replication 슬롯이 활성화되어 있어서 pg 커넥터 타스크가 스트리밍을 다시 시작하는데 실패하는 버그가 수정됨
  • 레플리카 셋의 주요 멤버를 잘못 식별하는 버그가 수정됨
  • INITIAL_ONLY 스냅샷 모드가 설정되었을 때 binlog 스트리밍을 활성화할 수 없는 버그가 수정됨
  • alter table에 대해 DDL ParsingException 예외가 발생하는 버그가 수정됨
  • 오라클 RAC URL이 node IP 주소로 대체되지 않는 버그가 수정됨

Other changes

  • DML 핸들링에 대한 복사를 피함
  • database.history.retention.hours 파라미터의 목적에 대해 명확하게 함
  • signalling 테이블 DDL에 관련된 문서를 개선함
  • pg 커넥터의 일부 죽은 코드를 제거함
  • OffsetContext.incrementalSnapshotEvets()를 문서화함
  • 로직이 올바르지 않다면 DB는 이를 건너뜀

Release 1.6.0.Beta1

Kafka 호환성

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

Breaking changes

  • 다중 테이블에 대한 RENAME TABLE 문이 이제 각각의 개명된 테이블 하나씩 해서 다중 스키마 변경으로 바뀜

New Features 

  • MySQL 커넥터에 대해 ad hoc 스냅샷을 지원함
  • DDL 동작을 지원함
  • RAW, LONG, LONG RAW, BLOB, CLOB 데이터 타입에 대한 지원을 추가함
  • 카산드라 커넥터에 대한 Doc를 갱신함
  • 오라클 커넥터에 대한 log.mining.strategy를 문서화함
  • 새로운 NUM_OF_CHANGE_EVENT_QUEUES 파라미터에 대한 DOC를 갱신함
  • 통합 테스트에서 사용자 NLS 설정에 종속되지 않는 날짜 형식 모델을 사용함
  • 유효하지 않는 SQL Server 커넥터 설정에 더 잘 핸들링하도록 함
  • 커넥터가 생성된 후에 table.include.list/table.exclude.list가 갱신되도록 허용함
  • SQL Server가 잠깐 죽을 때 재시도 하도록 함

Fixes

  • 오라클 커넥터에서 tablenameCaseInsensitive=True로 설정되었을 때 DB명이 소문자로 변환되지 않는 버그가 수정됨
  • 오라클 커넥터가 부분적으로 커밋된 트랜잭션을 올바르게 처리하지 못하는 버그가 수정됨
  • 약간의 시간 동안 동작된 후에 커넥터가 충돌하는 버그가 수정됨
  • 카산드라 커넥터가 스키마 변경에 적절히 반응하지 못하는 버그가 수정됨
  • source.timestamp.mode=commit으로 설정하면 성능 저하가 발생하는 버그가 수정됨
  • pg에서 pk가 있는 테이블에 truncate를 했을 때 "Found null value for non-option schema" 에러가 발생하는 버그가 수정됨
  • 테이블명에 '-' 문자열이 있으면 커넥터가 충돌하는 버그가 수정됨
  • 다중 archiver process 스레드가 사용중일 때 오라클 리두 로그 스위치를 찾을 수 없는 버그가 수정됨

Other changes

  • "too many conncetions"가 발생 후 재연결하도록 함
  • MongoDB 컴포넌트에 대한 doc를 모듈화함
  • 오라클 커넥터의 만료된 database.tablename.case.insensitive 옵션을 제거함
  • 오라클 드라이버 버전을 갱신함
  • pk가 없는 오라클 테이블에 테스트를 추가함

Release 1.6.0.Alpha1

Kafka 호환성

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

Breaking changes

  • 디비지움은 이제 자바 11으로 빌드 및 런타임 환경을 요구함. 하지만 카산드라 커넥터는 예외적으로 자바 8을 사용함

New Features 

  • 아파치 카프카에 대한 sink adapter가 추가됨
  • skipped.operction에 대해 몽고DB와 MySQL커넥터의 최적화가 진행함

Fixes

  • myql에서 ResultSet에 TIME, DATE, DATETIME 필드를 읽을 때 스냅샷이 실패하는 버그가 수정됨
  • 시스템 언어가 영어가 아니면 resolveOracleDatabaseVersion 예외가 발생하는 버그가 수정됨
  • LogMinerDmlParser가 WHERE 조건절에 홑따옴표를 잘못 처리하는 버그가 수정됨
  • SQL Server 속성에서 snapshot.select.statement.overrides는 공백이 있어도 콤마로 분리된 목록에서 첫번째 항목만을 매칭하는 버그가 수정됨
  • MySQL 커넥터가 파티션이 있는 테이블을 처리할 수 없는 버그가 수정됨
  • MySQL의 DATE 기본값 파서가 timestamp를 거절하는 버그가 수정됨
  • MySQL 8버전의 GRANT 문을 파싱할 수 없는 버그가 수정됨

Other changes

  • DB2에 대한 설정 유효성 검사를 함
  • 신규 메트릭 "CapturedTables"를 추가함
  • SQL Server 커넥터에 대해 사용자 가이드를 갱신함
  • Db2 커넥터에 대해 사용자 가이드를 갱신함
  • MySQL 커넥터에 대해 사용자 가이드를 갱신함
  • MongoDB 커넥터에 대해 사용자 가이드를 갱신함
  • Protobuf 컨버터에 대한 테스트를 추가함
  • 톰스톤 이벤트에 대한 doc 내용을 명확하게 함
  • binlog 클라이언트를 업그레이드 함

참고

728x90
반응형