[
https://issues.apache.org/jira/browse/FLINK-38244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18051182#comment-18051182
]
peiyu edited comment on FLINK-38244 at 1/12/26 9:15 AM:
--------------------------------------------------------
mysql version 5.7, lower_case_table_names=1
flinkcdc version 3.5.0
All fields in the table are uppercase letters. Adding a new field `VERSION`
throws an exception.
[~loserwang1024] [~kunni]
{code:java}
2026-01-09 21:33:55
org.apache.flink.cdc.runtime.operators.transform.exceptions.TransformException:
Failed to pre-transform with
AddColumnEvent{tableId=oms_split_db.tf_b_signature_contract_template_relation_subject,
addedColumns=[ColumnWithPosition
{column=`version` VARCHAR(32) '0001', position=AFTER, existedColumnName=remark}
]}
for table
oms_split_db.tf_b_signature_contract_template_relation_subject
from schema
columns={`RELATION_SUBJECT_ID` BIGINT NOT NULL,`TENANT_ID` BIGINT,`TENANT_CODE`
VARCHAR(64),`TENANT_NAME` VARCHAR(128),`SUBSIDIARY_ID` BIGINT,`SUBSIDIARY_NAME`
VARCHAR(128),`TEMPLATE_TYPE_CODE` VARCHAR(100),`TEMPLATE_TYPE_NAME`
VARCHAR(100),`TEMPLATE_TEXT_CODE` VARCHAR(100),`TEMPLATE_TEXT_NAME`
VARCHAR(100),`REMARK` VARCHAR(128),`VERSION` VARCHAR(32) '0001',`CREATED_BY`
BIGINT,`CREATED_BY_NAME` VARCHAR(50),`CREATED_TIME` TIMESTAMP(0),`LAST_UPT_BY`
BIGINT,`LAST_UPT_BY_NAME` VARCHAR(50),`LAST_UPT_TIME`
TIMESTAMP(0),`DELETE_FLAG` SMALLINT '0'}, primaryKeys=RELATION_SUBJECT_ID,
options=()
to schema
columns={`RELATION_SUBJECT_ID` BIGINT NOT NULL,`TENANT_ID` BIGINT,`TENANT_CODE`
VARCHAR(64),`TENANT_NAME` VARCHAR(128),`SUBSIDIARY_ID` BIGINT,`SUBSIDIARY_NAME`
VARCHAR(128),`TEMPLATE_TYPE_CODE` VARCHAR(100),`TEMPLATE_TYPE_NAME`
VARCHAR(100),`TEMPLATE_TEXT_CODE` VARCHAR(100),`TEMPLATE_TEXT_NAME`
VARCHAR(100),`REMARK` VARCHAR(128),`VERSION` VARCHAR(32) '0001',`CREATED_BY`
BIGINT,`CREATED_BY_NAME` VARCHAR(50),`CREATED_TIME` TIMESTAMP(0),`LAST_UPT_BY`
BIGINT,`LAST_UPT_BY_NAME` VARCHAR(50),`LAST_UPT_TIME`
TIMESTAMP(0),`DELETE_FLAG` SMALLINT '0'}, primaryKeys=RELATION_SUBJECT_ID,
options=().
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.processElement(PreTransformOperator.java:177)
at
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.pushToOperator(CopyingChainingOutput.java:75)
at
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:50)
at
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:29)
at
org.apache.flink.streaming.runtime.tasks.SourceOperatorStreamTask$AsyncDataOutputToOutput.emitRecord(SourceOperatorStreamTask.java:310)
at
org.apache.flink.streaming.api.operators.source.SourceOutputWithWatermarks.collect(SourceOutputWithWatermarks.java:110)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter$OutputCollector.collect(MySqlRecordEmitter.java:150)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at
org.apache.flink.cdc.debezium.event.DebeziumEventDeserializationSchema.deserialize(DebeziumEventDeserializationSchema.java:105)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.emitElement(MySqlRecordEmitter.java:121)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.processElement(MySqlRecordEmitter.java:97)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlPipelineRecordEmitter.processElement(MySqlPipelineRecordEmitter.java:171)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.emitRecord(MySqlRecordEmitter.java:74)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.emitRecord(MySqlRecordEmitter.java:47)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:203)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:216)
at
org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:443)
at
org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
at
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
at
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:973)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
at
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:970)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:949)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:763)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalArgumentException: remark of AddColumnEvent is not
existed
at
org.apache.flink.cdc.common.utils.SchemaUtils.applyAddColumnEvent(SchemaUtils.java:161)
at
org.apache.flink.cdc.common.utils.SchemaUtils.lambda$applySchemaChangeEvent$0(SchemaUtils.java:112)
at
org.apache.flink.cdc.common.event.visitor.SchemaChangeEventVisitor.visit(SchemaChangeEventVisitor.java:47)
at
org.apache.flink.cdc.common.utils.SchemaUtils.applySchemaChangeEvent(SchemaUtils.java:110)
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.cacheChangeSchema(PreTransformOperator.java:219)
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.processEvent(PreTransformOperator.java:198)
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.processElement(PreTransformOperator.java:162)
... 27 more {code}
was (Author: JIRAUSER310332):
mysql version 5.7, lower_case_table_names=1
flinkcdc version 3.5.0
All fields in the table are uppercase letters. Adding a new field `VERSION`
throws an exception.
[~loserwang1024] [~kunni]
```
2026-01-09 21:33:55
org.apache.flink.cdc.runtime.operators.transform.exceptions.TransformException:
Failed to pre-transform with
AddColumnEvent\{tableId=oms_split_db.tf_b_signature_contract_template_relation_subject,
addedColumns=[ColumnWithPosition{column=`version` VARCHAR(32) '0001',
position=AFTER, existedColumnName=remark}]}
for table
oms_split_db.tf_b_signature_contract_template_relation_subject
from schema
columns=\{`RELATION_SUBJECT_ID` BIGINT NOT NULL,`TENANT_ID`
BIGINT,`TENANT_CODE` VARCHAR(64),`TENANT_NAME` VARCHAR(128),`SUBSIDIARY_ID`
BIGINT,`SUBSIDIARY_NAME` VARCHAR(128),`TEMPLATE_TYPE_CODE`
VARCHAR(100),`TEMPLATE_TYPE_NAME` VARCHAR(100),`TEMPLATE_TEXT_CODE`
VARCHAR(100),`TEMPLATE_TEXT_NAME` VARCHAR(100),`REMARK` VARCHAR(128),`VERSION`
VARCHAR(32) '0001',`CREATED_BY` BIGINT,`CREATED_BY_NAME`
VARCHAR(50),`CREATED_TIME` TIMESTAMP(0),`LAST_UPT_BY` BIGINT,`LAST_UPT_BY_NAME`
VARCHAR(50),`LAST_UPT_TIME` TIMESTAMP(0),`DELETE_FLAG` SMALLINT '0'},
primaryKeys=RELATION_SUBJECT_ID, options=()
to schema
columns=\{`RELATION_SUBJECT_ID` BIGINT NOT NULL,`TENANT_ID`
BIGINT,`TENANT_CODE` VARCHAR(64),`TENANT_NAME` VARCHAR(128),`SUBSIDIARY_ID`
BIGINT,`SUBSIDIARY_NAME` VARCHAR(128),`TEMPLATE_TYPE_CODE`
VARCHAR(100),`TEMPLATE_TYPE_NAME` VARCHAR(100),`TEMPLATE_TEXT_CODE`
VARCHAR(100),`TEMPLATE_TEXT_NAME` VARCHAR(100),`REMARK` VARCHAR(128),`VERSION`
VARCHAR(32) '0001',`CREATED_BY` BIGINT,`CREATED_BY_NAME`
VARCHAR(50),`CREATED_TIME` TIMESTAMP(0),`LAST_UPT_BY` BIGINT,`LAST_UPT_BY_NAME`
VARCHAR(50),`LAST_UPT_TIME` TIMESTAMP(0),`DELETE_FLAG` SMALLINT '0'},
primaryKeys=RELATION_SUBJECT_ID, options=().
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.processElement(PreTransformOperator.java:177)
at
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.pushToOperator(CopyingChainingOutput.java:75)
at
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:50)
at
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:29)
at
org.apache.flink.streaming.runtime.tasks.SourceOperatorStreamTask$AsyncDataOutputToOutput.emitRecord(SourceOperatorStreamTask.java:310)
at
org.apache.flink.streaming.api.operators.source.SourceOutputWithWatermarks.collect(SourceOutputWithWatermarks.java:110)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter$OutputCollector.collect(MySqlRecordEmitter.java:150)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at
org.apache.flink.cdc.debezium.event.DebeziumEventDeserializationSchema.deserialize(DebeziumEventDeserializationSchema.java:105)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.emitElement(MySqlRecordEmitter.java:121)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.processElement(MySqlRecordEmitter.java:97)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlPipelineRecordEmitter.processElement(MySqlPipelineRecordEmitter.java:171)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.emitRecord(MySqlRecordEmitter.java:74)
at
org.apache.flink.cdc.connectors.mysql.source.reader.MySqlRecordEmitter.emitRecord(MySqlRecordEmitter.java:47)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:203)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:216)
at
org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:443)
at
org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
at
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
at
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:973)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
at
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:970)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:949)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:763)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalArgumentException: remark of AddColumnEvent is not
existed
at
org.apache.flink.cdc.common.utils.SchemaUtils.applyAddColumnEvent(SchemaUtils.java:161)
at
org.apache.flink.cdc.common.utils.SchemaUtils.lambda$applySchemaChangeEvent$0(SchemaUtils.java:112)
at
org.apache.flink.cdc.common.event.visitor.SchemaChangeEventVisitor.visit(SchemaChangeEventVisitor.java:47)
at
org.apache.flink.cdc.common.utils.SchemaUtils.applySchemaChangeEvent(SchemaUtils.java:110)
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.cacheChangeSchema(PreTransformOperator.java:219)
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.processEvent(PreTransformOperator.java:198)
at
org.apache.flink.cdc.runtime.operators.transform.PreTransformOperator.processElement(PreTransformOperator.java:162)
... 27 more
```
> When the column name of mysql supports case insensitive, fix the error that
> column name not being found
> -------------------------------------------------------------------------------------------------------
>
> Key: FLINK-38244
> URL: https://issues.apache.org/jira/browse/FLINK-38244
> Project: Flink
> Issue Type: Improvement
> Components: Flink CDC
> Affects Versions: cdc-3.4.0
> Reporter: Hongshun Wang
> Assignee: Hongshun Wang
> Priority: Major
> Labels: pull-request-available
> Fix For: cdc-3.5.0
>
>
> Though in FLINK-37634, the table name of mysql supports case insensitive, fix
> the error that table name not being found. When mysql supports case
> insensitive, column names also doesn't matches(one ddl upper, while another
> not.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)