Release 3.0.0
·
776 commits
to master
since this release
Release Notes
Documentation: https://ververica.github.io/flink-cdc-connectors/release-3.0
Downloads
Flink CDC
Flink CDC 3.0.0 (tar, asc, sha512)
The binary release can be verified by public key with fingerprint C460A307EAF2701FC9D774EF96719B746D3D0C8A.
Flink CDC Pipeline Connectors
All connectors are release in JAR and available in Maven central repository.
- Apache Doris pipeline connector 3.0.0 (jar, asc, sha1)
- MySQL pipeline connector 3.0.0 (jar, asc, sha1)
- Starrocks pipeline connector 3.0.0 (jar, asc, sha1)
- Values pipeline connector 3.0.0 (for testing purpose, jar, asc, sha1)
Flink CDC Source Connectors
All connectors are release in JAR and available in Maven central repository.
- Db2 source connector 3.0.0 (jar, asc, sha1)
- MongoDB source connector 3.0.0 (jar, asc, sha1)
- MySQL source connector 3.0.0 (jar, asc, sha1)
- OceanBase source connector 3.0.0 (jar, asc, sha1)
- Oracle source connector 3.0.0 (jar, asc, sha1)
- Postgres source connector 3.0.0 (jar, asc, sha1)
- Microsoft SQL Server source connector 3.0.0 (jar, asc, sha1)
- TiDB source connector 3.0.0 (jar, asc, sha1)
- Vitess source connector 3.0.0 (jar, asc, sha1)
Features and Improvements
- [pipeline-connector][starrocks] Fix char/varchar length inconsistency between cdc and starrocks (#2830)
- [cdc-cli][cdc-composer] Use "source-table" and "sink-table" as keywords of route (#2825)
- [build][hotfix] Remove duplicate dependency (#2826)
- [cdc-cli][cdc-dist] Support loading global config from FLINK_CDC_HOME (#2822)
- [cdc-common][hotfix] Remove redundant prefix of pipeline options (#2821)
- [cdc-source-connector][oceanbase][e2e] Add OceanBase e2e test case (#2521)
- [build] Use flink-shaded-force-shading to force all submodules to generate dependency-reduced-pom.xml
- [build] Use ${project.version} instead of ${revision} for dependency version
- [build] Skip maven-deploy-plugin for test modules and flink-cdc-dist
- [cdc-pipeline-connector][mysql] Fix precision problem of BIT type conversion (#2820)
- [cdc-source-connector][mysql] fix deserialization issue on table metadata binlog event (#2682)
- [pipeline-connector][mysql] Remove unnecessary serverTimeZone in DebeziumEventDeserializationSchema (#2816)
- [build][hotfix] Remove useless suppressions. (#2817)
- [cdc-source-connector][mysql] Fix attempted load of isSuspended in MySqlSplitSerializer::deserializeSplit when cdc version <= 2.2.0 (#2550)
- [cdc-pipeline-connector][mysql] Ensure the inference of MEDIUMINT_UNSIGNED type matches INT type in table schema (#2811)
- [cdc-connector][oceanbase] Add option for obcdc extra configs (#2543)
- [pipeline-connector][mysql] Enable send schema change by default (#2815)
- [3.0][cdc-runtime] Remove waitForFlushSuccess field in request handler (#2812)
- [pipeline-connector][starrocks] Add starrocks pipeline connector (#2765)
- [pipeline-connector][doris] add doris pipeline connector. (#2810)
- [cdc-pipeline-connector][mysql] Ensure the precision inference of DECIMAL type matches table schema
- [3.0][cdc-common & runtime] Remove useless flink imports
- [cdc-pipeline-connector][mysql] Add tests for mysql pipeline connector
- [cdc-pipeline-connector][mysql] Support more mysql types
- [cdc-pipeleine-connecotr][mysql] Send CreateTableEvent in the mysql pipeline connector
- [cdc-pipeline-connector][mysql] Parse the alter statement to generate SchemaChangeEvent
- [cdc-pipeline-connector][mysql] Introduce mysql cdc pipeline DataSource
- [cdc-cli][cdc-composer][cdc-dist] Support submitting job to general Flink environments (#2807)
- [cdc-runtime][hotfix] Setup waitFlushSuccess before responding operator to flush. (#2805)
- [cdc-common] Introduce "pipeline.local-time-zone" config option which help handle time zone well (#2797)
- [cdc-common][hotfix] Remove useless flink imports (#2803)
- [build] Let surefire plugin to keep the full stacktrace on test failure (#2804)
- [pipeline-common] Use column name to check whether the schema contains specific column or not. (#2801)
- [cdc-composer][route][sink] Add name for route and improve name for sink
- [cdc-composer][hotfix] Always chain operator by default
- [cdc-composer][sink] Use correct name for sink operator
- [cdc-runtime] SchemaRegistry should complete the future after making the checkpoint (#2800)
- [cdc-connector][sqlserver][tests] Fix UT errors by increasing the wait time after committing SQL (#2799)
- [cdc-composer] Add common and runtime JAR when submit (#2795)
- [cdc-connector][debezium] Supports conversion from binary bytes to base64 encoded string (#2435)
- [cdc-connector][mysql] MysqlTableSource return metadata in a fixed order (#2578)
- [cdc-connector][mysql] Fix snapshot fetch size conf does not take effect (#2766)
- [cdc-connector][oracle] Expose ability to skip backfill in snapshot period for Oracle CDC (#2793)
- [cdc-connector][oracle] Fix wrong table path during backfill phase which leads to potential data loss (#2707)
- [cdc-composer][tests] Add integration tests for FlinkPipelineComposer (#2776)
- [cdc-dist] Introduce flink-cdc.sh as the entrypoint of the Flink CDC (#2791)
- [3.0] [flink-cdc-dist] Collect all distro resources into a TAR (#2636)
- [cdc-connector][sqlserver] Expose ability to skip backfill in snapshot period for SqlServer CDC.(#2783)
- [cdc-connector][mysql] Expose ability to skip backfill in snapshot period for MySQL CDC.
- [cdc-connector][mongodb] Expose ability to skip backfill in snapshot period for Mongodb CDC.
- [cdc-connector][postgres] Expose ability to skip backfill in snapshot period for Postgres CDC.
- [cdc-connector][base] Support skip snapshot backfill for incremental snapshot connector
- [cdc-connector][base][tests] Introduce snapshot phase hooks for better snapshot test
- [cdc-composer] Add routing logic into the Flink composer
- [cdc-cli][cdc-composer] Use sourceTable and sinkTable as keyword in route definition
- [cdc-runtime] Add RouteFunction for routing change events
- [cdc-common] Introduce AssertJ-style assertion system for Flink CDC data structures
- [hotfix][mysql][tests] Avoid canceling a finished job in tests of SpecificStartingOffsetITCase (#2687)
- [docs][zh][hotfix] Remove redundant sections from mysql-cdc documentation (#2777)
- [mongodb][hotfix] Fix MongoDB's rewriteOutputBuffer to emit +I rather than +U (#2760) (#2760)
- [cdc-common] Introduce createFieldGetters method in SchemaUtils to build FieldGetters of given Schema. (#2762)
- [cdc-composer] use DataSinkWriterOperatorFactory to replace all SinkWriterOperatorFactory. (#2773)
- [cdc-pipeline-connector][values] Avoid using
defaultas name of namespace and schema. (#2774) - [cdc-runtime] Improve DataSinkWriterOperator logic that only emit latest schema for events that are not CreateTableEvent (#2771)
- [cdc-common] add PublicEvolving annotation to SchemaUtils (#2756)
- [3.0][cdc-composer] Introduce pipeline.name config to support custom flink job name (#2768)
- [cdc-base] Extract the common parts of each ScanFetchTask into AbstractScanFetcherTask.
- [docs][hotfix] Configuration 'slot.name' is required in mysql-postgres-tutorial-zh.md (#2763)
- [cdc-runtime] Improve partitioning logics and add tests for PrePartitionOperator(#2761)
- [cdc-runtime][tests] Introduce Harness test utilities for CDC customized operators
- [cdc-runtime] Make sure CreateTableEvent is always sent before DataChangeEvent even if during restoration (#2767)
- [docs][hotfix] Configuration 'slot.name' is required in mysql-postgres-tutorial.md (#2764)
- [oceanbase] Use global timestamp to start log client (#2565)
- [cdc-pipeline-connector][values] Add event set MULTI_SPLITS_SINGLE_TABLE to mock source with multiple splits (#2737)
- [hotfix][cdc-composer] Use correct factory to discovery DataSink (#2757)
- [3.0][cdc-common] Introduce BinaryRecordDataGenerator to help to create BinaryRecordData
- [3.0][cdc-common] Use BinaryRecordData in DataChangeEvent instead of GenericRecordData
- [3.0][cdc-common] Introduce binaryRecordData to avoid type serialization and improve performance as well
- [build][hotfix] Use the correct format for labeler.yml (#2758)
- [build] Add github labeler for pull request
- [docs] Add DataStream application package guidance (#2583)
- [cdc-common] Introduce TableFilter to filter table objects from given TableId pattern (#2673)
- [cdc-composer] Initialize context with existing config of SourceDef and SinkDef (#2749)
- [hotfix][docs] Adjust the correct doc versions (#2679)
- [docs][oracle] Fix oracle cdc quick start (#2727)
- [cdc-runtime] Use CollectCoordinationResponse as a wrapper of CoordinationResponse
- [cdc-common] MetadataApplier should extends Serializable
- [cdc-runtime] Rewrite DataSinkWriterOperator to avoid classloading issues using reflection
- [cdc-composer] Implementation of Flink pipeline composer for chaining everything together
- [cdc-composer] Introduce partitioning related runtime functions and translator
- [cdc-composer] Introduce data sink and schema operator translators
- [cdc-composer] Introduce DataSourceTranslator for composing source
- [cdc-runtime] Introduce schema manager for managing schema version and handling schema changes
- [cdc-composer] Add FlinkEnvironmentUtils for adding JAR to StreamExecutionEnvironment
- [cdc-common] Define pipeline options and schema change behaviors
- [cdc-common] Support adding Column directly in schema builder
- [hotfix][vitess] Fix invalidate package name
- [cdc-pipeline-connector][values] Introduce
valuescdc pipeline connector - [3.0][cdc-common] Introduce TableSchemaState and its Serializer for DataSink to hold the table schemas.
- [3.0][cdc-common][minor] Add toString method for some classes.
- [3.0][cdc-common] Add SchemaUtil to perform schema evolution (#2732)
- [3.0][cdc-runtime] Provide SchemaOperator and SchemaRegistry to handle schema changes (#2685)
- [sqlserver] Fix timestamp type parse of sqlserver (#2708)
- [3.0][cdc-runtime] Add TypeInformation for Event class (#2728)
- [3.0][cdc-runtime][tests] Add tests for type serializers
- [3.0][cdc-runtime][hotfix] Move type serializers to runtime module
- [3.0][cdc-common] Introduce data type for record field in DataChangeEvent
- [3.0][cdc-common][minor] Improve public methods for schema event
- [3.0][cdc-common][minor] Move FlushEvent to common module
- [mongodb] Incremental snapshot source supports comma-separated format parameter for databases and collections (#2724)
- [3.0][cdc-common] Use built-in ConfigOption for cdc-common module (#2716)
- [3.0][cdc-common] Add ConText for Source/Sink initialization. (#2672)
- [3.0][cdc-common] Add TypeSerializer implementations (#2683)
- [build] Add header copyright check for java files
- [common] Introduce Configuration and related utilities (#2681)
- [oracle] Skip unsupported nested table for legacy debezium source function
- [oracle] Skip unsupported nested table for Incremental OracleSource
- [3.0][common] Use built-in API annotations to make common module free with flink
- [3.0][common] Introduce built-in API annotations for project
- [build] Bump Flink version to 1.18.0 (#2463)
- [build][tests] Enable CI tests for CDC 3.0 modules (#2678)
- [3.0][cdc-common] Introduce internal data structures and generic implementations (#2688)
- [composer] Connector factory and JAR discovery utilities (#2662)
- [postgres-cdc] Add tests for latest-offset startup strategy (#2527)
- [3.0][cdc-common] Change DataChangeEvent from interface to class, and add implementation for DataChangeEvent. (#2677)
- [build][tests] Enable CI tests for CDC 3.0 modules
- [3.0][cdc-runtime] add DataSinkWriterOperator to process Event (#2649)
- [3.0][cdc-common] Add SchemaChangeEvent implementations (#2664)
- [cli] Implementation of CLI frontend (#2660)
- [docs] Remove flink 1.13 from supported flink versions
- [3.0][cdc-common] Add GenericRecordData implementation for RecordData
- [3.0][cdc-common] Keep columns in Schema in fixed order
- [3.0][cdc-common] Use RecordData to represent before and after record.
- [build] Introduce -Dfast property for skipping code style checks
- [test] Bump maven-surefire-plugin version to 3.0.0-M5
- [test] Introduce JUnit 5 and AssertJ dependencies
- [flink-cdc-composer] Base interfaces and models for composer and pipeline definition (#2656)
- [3.0][cdc-common] Introduce Connector Factory APIs (#2661)
- [3.0][cdc-common] Add getTableSchema method for MetadataAccessor (#2650)
- [3.0][cdc-common] Introduce Schema API for CDC 3.0
- [3.0][cdc-common] Introduce Event DataSink APIs for Flink CDC 3.0
- [3.0][cdc-common] Introduce DataSource related APIs for Flink CDC 3.0
- [pom] Use ${revision} replace specific version. (#2623)
- [3.0][cdc-runtime] introduce schema evolution framework API
- [3.0][cdc-common] Introduce data types for cdc 3.0
- [3.0][cdc-common] Introduce Event related APIs for Flink CDC 3.0
- [3.0][kickoff] Introduce basic modules for Flink CDC 3.0
- [mongodb] Use SampleBucketSplitStrategy for shard collection with hashed keys (#2595)
- [vitess][hotfix] Use stable image tag for vitess docker image (#2594)
- [oracle] Bump oracle docker image version to 19c
- [oracle] Refactor oracle unit test
- [build] Bump testcontainers version and polish dependency
- [mysql] Use automatic resource management to replace 'try - finally' code block. (#2552)
- [sqlserver] Fix get latest lsn (#2551)
- [flink-connector-debezium] Support overriding some debezium properties in DebeziumSourceFunction (#2530)
- [e2e] Remove db docker image after test cases are executed. (#2508)
- [postgres] Reuse pool connection based on database in postgres cdc
- [mysql] remove redundant source metrics processTime and emitDelay in mysql source
- [cdc-base]remove redundant source metrics register(#2403)
- [cdc-base] JdbcConnectionPools supports multiple JDBC sources
- [tests][e2e] add log config to e2e tests (#2464)
- [postgres] Not drop replication slot for stream split (#2436)
- [postgres] Close jdbc connection after creating replication slot for stream split (#2425)
- [test] Close resources after each test (#2438)
- [hotfix][docs] Fix the abnormal display of pictures (#2513)
- [cdc-base] Fix TM hangs caused by uncaught exception (#2511)
- [postgres] Close idle readers when snapshot finished (#2400)
- [oceanbase][ci] Move the OceanBase CI to free azure pipeline (#2506)
- [mongodb][hotfix] Fix Mongo collection regex match logic (#2503)
- [hotfix][mysql] Keep assigned splits in order to fix wrong meta group calculation
- [mysql] Add finished unack splits to state for the MysqlSourceReader (#2399)
- [mongodb][hotfix] Mongo CDC fails to capture collections with
.in names (#2488) - [e2e][tidb] Split e2e tests into two groups to decrease the disk usage for per azure job to avoid tidb disk full error
- [hotfix][e2e][vitess] Fix module name typo
- [e2e] Remove flink 1.13 tests from e2e test matrix
- [cdc-base] Fix parsing error when serializing and deserializing the table name with dot (#2443)
- [oracle] Correct the naming error (#2405)
- [docs] Remove unreachable images in README (#2426)
- [docs] Add contribution guidance section in document (#2411)
- [sqlserver] Add support bigint type as table split column (#2416)
- [hotfix][sqlserver] Fix backfill stream task hang (#2374)
- [hotfix][mysql] Trim default value for BIGINT and SMALLINT types when parsing MySQL DDL (#2418)
- [sqlserver] Add table filter to speed up SqlServerSchema read (#2369)
- [Doc] Use redo log instead of binlog in Oracle document (#2408)
- [mysql] Filter databases that do not need to be read when discovering tables (#2160)
- [test] Fix TiDBE2eITCase by updating the container version to avoid
tikv disk fullfailure (#2402) - [test][postgres] Close postgres containers after tests and fix container reuse bug (#2394)
- [mysql] quota the field names when executing mysql query (#2381) (#2388)
- [test][mysql] Provide the server-time-zone setting in MySqlSourceExampleTest#testConsumingAllEvents (#2364)
- [hotfix][mysql] Catch underlying throwable in snapshot reading.
- [hotfix][mysql] Fix failed test LegacyMySqlSourceTest#testSnapshotOnFailedSource (#2384)
- [db2] [tests] Fix unstable Db2ConnectorITCase due to cleanup failure
- [vitess] Improve build changelog mode (#2355)
- [mongodb][tests] Improve test coverage & add class visibility annotations
- [mongodb] Add
pendingRecordsandnumRecordsInErrorsmetrics for source - [mongodb][hotfix] Fix SourceRecord range check (#2343)
- [polish] Add type parameter for MySqlRecords(#2300)
- [doc] fix errors in PostgresParallelSourceExample (#2324)
- [docs][oracle] Add an example of Incremental Snapshot based DataStream for Oracle CDC Connector
- [mongodb] Add disableCursorTimeout option (#2332)
- [mongodb] [tests] Loosen E2E timeout limitations
- [vitess] Migrate connector properties to debezium 1.9.7 (#2260)
- [hotfix][sqlserver] Fix sqlserver monitor same table in other database (#2336)
- [debezium] Fix DebeizumSourceFunction can not do savepoint after close (#2259)
- [Mysql] Fix assigning duplicate snapshot splits when enable scan newly added tables (#2096)
- [mysql] skip closing reader when the reader received the binlog split (#2261)
- [MySQL] Optimize how to construct config table.include.list (#2274)
- [oracle] Fix class conflict when using multi cdc sql connector
- [hotfix][doc] Fix doc site with 404 (#2322)
- [docs] Add connector features table to help users quickly understand the supported features of each connector
- [mysql] Remove the finished snapshot splits for the binlog split when restoring from the checkpoint (#2292)
- [hotfix][sqlserver] Fix sqlserver close idle and chunk key column missing (#2305)
- [mongodb] [docs] Adds scanFullChangelog docs (#2294)
- [mongodb] Supports
scanFullChangelogfeature & deprecatecopyExistingoption - [mongodb] Support MongoDB 6.0+ & update testcases
- [postgres] Fix the slot name conflict bug (#2251) (#2281)
- [docs] Update Postgres CDC documents for required slot.name option (#2270)
- [build] Add vcs.xml for IDEA (#2064)
- [docs] add docs for the mysql tables without primary keys (#2227)
- [MySQL] Fix the startup mode exception message (#2264)
- [oracle] Use oracle connection in context for each reader subtask (#2254) (#2258)
- [hotfix] Update support version (#2255)
- [hotfix] update dbz option name 'xx. whitelist' to 'xx.include.list'(xx = database, schema or table) (#2212)
Contributor List (sorted alphabetically)
- BIN
- Dian Qi
- EchoLee5
- FlechazoW
- FocusComputing
- Hang Ruan
- He Wang
- Hongshun Wang
- Jiabao Sun
- Josh Mahonin
- Kunni
- Leonard Xu
- Maciej Bryński
- Malcolmjian
- North.Lin
- Paddy Gu
- PengFei Li
- Qingsheng Ren
- Shawn Huang
- Simonas Gelazevicius
- Sting
- Tyrantlucifer
- TJX2014
- Xin Gong
- baxinyu
- chenlei677
- e-mhui
- empcl
- gongzhongqiang
- gaotingkai
- ice
- joyCurry30
- l568288g
- lvyanquan
- pgm-rookie
- rookiegao
- skylines
- syyfffy
- van
- wudi
- wuzhenhua
- yunqingmo
- yuxiqian
- zhaomin
- zyi728
- zhangjian