728x90
반응형
목적
최신 버전 업그레이드 전, 영향도 평가하기 위함
툴별 버전별 호환성 표
Java | 8+ |
Kafka Connect | 1.x, 2.x |
MySQL | Database: 5.7, 8.0.x Driver: 8.0.19 |
MongoDB | Database: 3.2, 3.4, 3.6, 4.0, 4.2 Driver: 3.12.3 |
PostgreSQL | Database: 9.6, 10, 11, 12 Driver: 42.2.12 |
Oracle | Database: 12c Driver: 12.2.0.1 |
SQL Server | Database: 2017, 2019 Driver: 7.2.2.jre8 |
Cassandra | Database: 3.11.4 Driver: 3.5.0 |
Db2 | Database: 11.5 Driver: 11.5.0.0 |
Vitess | Database: 8.0.x Driver: 7.0.0 |
Release Note 요약
1.4.2. Final
Kafka 호환성
- 카프카 커넥트 2.6.1, 카프카 브로커 2.6.1와 호환됨
Breaking changes
- 이전 버전의 Debezium에서는 MySQL 커넥터가 올바른 유형인 r(읽기) 대신 c(쓰기) 작업 유형을 사용하여 스냅샷 이벤트를 잘못 방출함. 이 기능을 사용하던 컨슈머는 io.debezium.connector.mysql.transform.ReadToInsertEvent SMT를 사용해야 함. 동일한 목적으로 1.4.0에 실수로 도입된 커넥터 옵션인 snapshot.events.as.inserts가 다시 제거 되었으므로 이 경우에도 SMT를 사용할 것. 이 때 사용되는 SMT는 마이그레이션 목적이므로 향후에는 삭제될 것임
- (인큐베이팅 중인) 오라클 전용 Debezium 커넥터는 이제 트랜잭션 ID를 대문자가 아닌 소문자로 전송함
- 오라클 전용 커넥터의 snapshot mode 파라미터값 중 initial_schema_only는 지원 만료되어 제거됨. 이제 schema_only 값을 사용할 것
New Features
- 시간값(milliseconds, ms, sec, seconds 등)에 대해 호환되는 필드 설명이 추가됨
- 부모가 없는 IOT를 찾아 건너뜀
- LogMiner에 대해 추가적인 JMX 지표를 캡쳐함
- SqlServer 커넥터는 유효성 검사를 수행하지 않음
- DML 파서 성능이 개선됨
- 사용가능한 DB 옵션 중 테스트 파라미터는 건너뛰는 기능이 추가됨
- 세션이 시작에 실패하면 LogMiner 세션 파라미터를 캡쳐함
Fixes
- 카프카 커넥터가 Debezium 설정을 잘못 참조하는 버그가 수정됨
- 12버전의 Oracle RDS에서 Logminer를 사용한 오라클 커넥터가 cdc를 못하는 버그가 수정됨
- 커넥션이 중지될때까지 PostgreSQL부터 커넥터에 의해 경고와 알림이 무시되는 버그가 수정됨
- ExtractNewRecord SMT가 소스DB 정보에서 ts_ms를 잘못 추출하는 버그가 수정됨
- create or replace index 명령어 입력 시 실행 가능한 대체안이 없다는 버그가 수정됨
- 오라클 logminer 커넥터에 대한 이상한 트랜잭션 메타데이터가 수정됨
- properties 파일에 쓸 때 공백이 포함된 환경변수는 잘리는 버그가 수정됨
- JSON 타입 컬럼 데이터를 처리할 때 새로운 binglog 파서(1.3 이상 버전)가 영원히 멈추는 버그가 수정됨
- where 조건절에 IS NULL 구문을 사용할 경우 DML 파서가 IndexOutOfRangeException 에러를 발생하는 버그가 수정됨
Other changes
- 새로운 배포 엔드포인트를 사용하여 Maven Central에 배포함
- 옵션명에 길이가 없는 공백 제거함
- 커넥터 파라미터에 중복된 앵커 링크를 제거함
- 오라클에 대한 설정 유효성 검사 진행함
- pgoutput을 사용하여 요구되는 권한을 명확하게 함
- 오라클 커넥터에 COLUMN_BLACK_LIST 옵션을 제거함
- PostgreSQL 커넥터 doc에 약간의 수정이 있음
1.4.1. Final
Kafka 호환성
- 카프카 커넥트 2.6.1, 카프카 브로커 2.6.1와 호환됨
Breaking changes
- -
New Features
- SQL Server doc에 대한 Debezium 커넥터 정보를 명확하게 함
- SQL SErver 커넥터의 binary.handling.mode 지원을 추가함
- charset이 설정되어 있지 않으면 이를 설정하기 위해 collation을 사용함
- sql 동작의 타입와 수에 대한 추가적인 로깅이 있음
Fixes
- 알수 없는 이벤트 타입으로 binlog를 읽을 때 Debezium 커넥터가 실패하는 버그가 수정됨
- 테이블 구조를 읽는 동안 일부 컬럼의 default값이 올바르게 추출되지 않는 버그가 수정됨
- 오라클 커넥터와 Logminer 내 스냅샷으로부터 현재 SCN이 다를 경우 로그 파일을 찾을 수 없다는 에러가 발생하는 버그가 수정됨
- "Build Testing Workflow"에 대한 깃헙 액션이 오래된 artifacts를 사용하고 찾을 수 없는 의존성을 빌드할 수 없는 버그가 수정됨
- 기본 DB charset이 기록되지 않는 버그가 수정됨
- 현재 커넥터가 replication 슬롯을 차지하고 있어 postgresql 커넥터 설정 유효성 검사가 실패하는 버그가 수정됨
- 특정 상황에서 디비지움이 DML 예외를 씹는 버그가 수정됨
Other changes
- Scn을 도메인 타입으로서 수행함
- doc 내용에 message.key.columns, skipped.operations 부분을 수정함
- 아파치 카프카 커넥트 2.6.1을 업그레이드함
- PostgreSQL 커넥터에 대한 누락된 커넥터 옵션을 추가함
- doc 내 앵커 링크 문자로부터 blacklist, whitelist를 제거함
- 커넥터 파라미터 예시에 whitelist/blacklist 설정을 include/exclude로 수정함
1.4.0. Final
Kafka 호환성
- 카프카 커넥트 2.6.0, 카프카 브로커 2.6.0와 호환됨
Breaking changes
- -
New Features
- DDL 파서로부터 에러 보고 내용 개선
- TNS 명과 full RAC 연결 문자열을 지원함
- FIELD event에 더 이해하기 쉬운 로그를 추가함
Fixes
- AWS RDS에 커넥터 유효성 검사에 실패할 수 있는 다양한 역할 이름이 있는 버그가 수정됨
- tab으로 시작하는 코멘트에 대한 MySQL 파서 에러가 수정됨
- 컬럼명에 $ 부호가 있을 경우 커넥터가 실패하는 버그가 수정됨
- 생성된 컬럼에 대해 MariaDB 문법이 지원되지 않을 경우 실패하는 버그가 수정됨
Other changes
- LegacyDdlParser 및 관게된 코드를 제거함
- MongoDB 커넥터 인터페이스를 추가함
- MySQL JDBC driver를 8.0.21 버전으로 업그레이드 함
- payload의 id 필드가 존재하지 않을 경우 예외를 피함
1.4.0. CR1
Kafka 호환성
- 카프카 커넥트 2.6.0, 카프카 브로커 2.6.0와 호환됨
Breaking changes
- -
New Features
- -
Fixes
- database.oracle.version 옵션에 대한 doc 내용을 수정함
- 같ㅇ은 섹션을 가리키는 MySQL doc 섹션 내 링크를 제거함
- 파티션된 테이블에 대한 오라클 스키마 history 이벤트가 실패하는 버그가 수정됨
Other changes
- 카산드라 커넥터를 별도의 저장소로 옮김
- 적절하지 못한 컬럼명은 메시지와 함께 커넥터가 실패됨
1.4.0. Beta1
Kafka 호환성
- 카프카 커넥트 2.6.0, 카프카 브로커 2.6.0와 호환됨
Breaking changes
- -
New Features
- 분산 추적에 대한 지원이 추가됨
- Quarkus extension에 대한 GraaIVM 내 native mode에서 실행되도록 MongoDB 드라이버를 4.x로 업그레이드함
- MySQL 커넥터에 대해 생성하거나 읽을 때 스냅샷 레코드로 생성되도록 허용됨
- 소문자 테이블명 및 스키마명에 대한 db2 커넥터가 지원됨
- 엔진이 충돌할 때 process를 죽이는 옵션이 추가됨
- 널 허용 컬럼에 대한 지원이 추가됨
Fixes
- 오래 지속되는 트랜잭션이 버려지거나 무시되는 버그가 수정됨
- Sql Server에서 default 값으로 decimal이 컬럼 정의의 scale과 일치하지 않아 예외가 발생하는 버그가 수정됨
- 카산드라 커넥터가 완벽히 중지되지 않는 버그가 수정됨
- Debezium에서 mysql 식별자로 CHARACTER VARYING이 지원되지 않는 버그가 수정됨
- rename user 명령어 파싱이 실패하는 버그가 수정됨
Other changes
- MongoDB 드라이버의 만료된 JSON 직렬화 기능에 더이상 의존하지 않음
- 웹사이트 빌드를 깃헙 액션으로 옭밈
- 오라클 ci 빈도를 증가시킴
- 부호가 없는 정수 타입에 대한 지원이 추가됨
1.4.0. Alpha2
Kafka 호환성
- 카프카 커넥트 2.6.0, 카프카 브로커 2.6.0와 호환됨
Breaking changes
- -
New Features
- DB가 재시작 될 때 PostgreSQL 커넥터가 재시도하도록 지원됨
Fixes
- flashback 쿼리를 수행하는 동안 오라클이 "no snapshot found based on specified time" 에러를 던지는버그가 수정됨
- pk 정의가 컬럼 정의보다 앞설 때 예외가 발생하도록 수정함
- zero date일 때 MySQL 커넥터가 실패하는 버그가 수정됨
- timestamp 기본값으로 'yyyy-mm-dd' 형식일 때 MySQL 커넥터가 실패하는 버그가 수정됨
- "min"컬럼 입력시 에러가 발생할 때 대안이 없는 버그가 수정됨
Other changes
- 모든 저장소에 대해 CI를 깃헙 액션으로 옮김
- replication slot이 존재하지 않는 유효성 검사가 추가됨
- initial.sync.max.threads를 snapshot.max.threads로 변경함
1.4.0. Alpha1
Kafka 호환성
- 카프카 커넥트 2.6.0, 카프카 브로커 2.6.0와 호환됨
Breaking changes
- -
New Features
- 스냅샷을 뜰 캡쳐된 테이블의 하위 집합을 명시할 수 있도록 함
- MongoDB에 대해 select 구문을 재정의할 수 있도록 함
- 행 걸린 JDBC 커넥션을 닫을 수 있도록 함
- SQL Server에서 기본값이 가 파싱될 수 없을 때 스택트레이스를 숨김
Fixes
- 환경변수를 재정의할 수 없는 버그가 수정됨
- PostgreSQL 커넥텅의 doc에서 일관적이지 못한 부분이 수정됨
- sharded cluster 내 mongodb collection에 대해 데이터를 추출하는 동안 "ConcurrentModificationException" 에러가 발생하는 버그가 수정됨
- MySQL 커넥터가 컬럼 정의에 DB의 기본 charset을 전달하지 않는 버그가 수정됨
- 트리거를 사용하여 뷰를 생성할 때 테이블 별칭을 쓰면 DDL을 파싱할 수 없는 버그가 수정됨
- snapshot.new.tables가 변경된 후에 MySQL 커넥터가 오래된 offset metadata를 유지하는 버그가 수정됨
- PostgreSQL 커넥터 내 WAL 로그가 flush 되지 않는 버그가 수정됨
- 카산드라 커넥터가 로깅할 때 log4j를 올바로 사용하지 못하는 버그가 수정됨
- MariaDB에서 nextval 함수가 문법적으로 지원되지 않는 버그가 수정됨
- 같은 이름으로 존재하는 테이블의 같은 이름으로 된 뷰를 삭제하면 디비지움이 실패되는 버그가 수정됨
Other changes
- MySQL doc 소스 파일을 다시 하나로 합침
- PostgreSQL에 대한 사용자 가이드 doc를 개선함
- MySQL JDBC 드라이버 버전을 8.0.19로 업그레이드함
참고
- debezium doc
Release Notes for Debezium 1.4
728x90
반응형
'Data PipeLine > Debezium' 카테고리의 다른 글
[Debezium] 1.8 Release Note 주요 내용 정리 (0) | 2024.01.20 |
---|---|
[Debezium] 1.7 Release Note 주요 내용 정리 (0) | 2024.01.15 |
[Debezium] 1.6 Release Note 주요 내용 정리 (0) | 2024.01.14 |
[Debezium] 1.5 Release Note 주요 내용 정리 (0) | 2024.01.13 |
[Debezium] 최초 스냅샷 뜰 경우 OOM 에러 조치 (0) | 2023.12.11 |