Release 3.0.0
leonardBang
released this
07 Dec 03:02
·
377 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
default
as 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
values
cdc 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 full
failure (#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
pendingRecords
andnumRecordsInErrors
metrics 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
scanFullChangelog
feature & deprecatecopyExisting
option - [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