[
https://issues.apache.org/jira/browse/FLINK-36184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ruan Hang resolved FLINK-36184.
-------------------------------
Fix Version/s: cdc-3.2.0
Resolution: Fixed
master(3.3-SNAPSHOT): 06fc9395693a78318bc3b42b76088e6d3201b79f
release-3.2: fc752fb3c8979c5d311bb0c02dc2bf6a89ad7544
> Transform Operator swallows schema changes from tables not present in
> transform rules
> -------------------------------------------------------------------------------------
>
> Key: FLINK-36184
> URL: https://issues.apache.org/jira/browse/FLINK-36184
> Project: Flink
> Issue Type: Bug
> Components: Flink CDC
> Affects Versions: cdc-3.2.0, cdc-3.3.0
> Reporter: yux
> Assignee: yux
> Priority: Blocker
> Labels: pull-request-available
> Fix For: cdc-3.2.0
>
>
> Currently, tables that are not present in transform blocks should be treated
> as if there's such a dummy fallback block:
> transform:
> - source-table: "\.*.\.*" # capture all unmentioned tables
> projection: "*" # keep all columns
> # without filtering any rows
> There's a bug in #3557's implementation, where schema change events should be
> filtered out if there's no wildcard (*) in transform rules. However, it also
> filters out those tables that are not defined in transform rules, which
> causes schema change events lost with the following example:
> transform:
> - source-table: foo.bar.baz # Another table that doesn't really matter
> projection: ...
> Here, since there's one transform block, TransformOperator will be added into
> operator chain. Now let's perform some schema change events in another table
> (like db.table), it will be filtered out since TransformOperator regards it
> as a asterisk-less table and does not require schema change events.
> By checking if a table is transformed or not, we could set hasAsterisk flag
> map correctly and resolve this problem.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)