[ 
https://issues.apache.org/jira/browse/FLINK-38244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18051182#comment-18051182
 ] 

peiyu commented on FLINK-38244:
-------------------------------

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)

Reply via email to