Hi all,

I would like to ask for a review of FLINK-40508: Support DB2 pipeline
connector.

JIRA: https://issues.apache.org/jira/browse/FLINK-40508
PR:   https://github.com/apache/flink-cdc/pull/4533

The PR adds a new flink-cdc-pipeline-connector-db2 module so that DB2 can
be used
as a source with the YAML Pipeline API. Today DB2 is only reachable from the
DataStream and SQL APIs through flink-connector-db2-cdc.

The new connector reuses that source connector as-is on top of the
incremental
snapshot framework, so nothing in flink-connector-db2-cdc changes, and it
follows
the same layout as the existing Postgres and Oracle pipeline connectors: a
DataSourceFactory plus an EventSourceProvider, with a MetadataAccessor and a
record emitter that translate Debezium events into CDC events.

It covers the snapshot and incremental phases, chunk splitting with a
configurable chunk key column, schema evolution, and DB2 specific types
such as
DECFLOAT, XML and CLOB/BLOB. The options are the ones the source connector
already supports and are documented in the new docs page, which comes in
both
English and Chinese.

Verification:

  - Db2TypeUtilsTest covers every supported type mapping and the unsupported
    type path.
  - Db2DataSourceFactoryITCase and Db2PipelineITCase run against a real DB2
    instance through testcontainers, reusing Db2TestBase from the source
    connector's test-jar.
  - The module is registered in .github/workflows/modules.py, so CI builds
and
    tests it on both Flink 1.20.3 and Flink 2.2.0. Those jobs, including the
    ITCases, are green on my fork:
    https://github.com/suntectec/flink-cdc/actions/runs/34694573035

Two practical notes. The workflow run on the upstream PR is still waiting
for a
committer to approve it, since this is my first contribution here. And
FLINK-40508 is still unassigned while I do not have the permission to
assign it
to myself — please let me know if it should be assigned before the review
moves
forward.

Thanks,
Jagger

Reply via email to