ods_tms_taskbill_oi_detail 中bi_name 字段类型是varchar, 默认值是'',如下图:
mysql 数据通过flinkcdc 同步数据,在mysql表结构没有变更的情况下,
doris 3.0.4和3.0.5都报错下面的错误,3.0.3没有问题。
flink cdc 用的是3.4.0
flink-cdc-pipeline-connector-doris-3.2.1.jar
2025-06-10 13:50:35
org.apache.flink.util.FlinkException: Global failure triggered by OperatorCoordinator for 'Transform:Data -> SchemaOperator -> PrePartition' (operator 9899a42c64d67ef3172b7e3be3c1bbb9).
at org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder$LazyInitializedCoordinatorContext.failJob(OperatorCoordinatorHolder.java:651)
at org.apache.flink.cdc.runtime.operators.schema.common.SchemaRegistry.failJob(SchemaRegistry.java:392)
at org.apache.flink.cdc.runtime.operators.schema.regular.SchemaCoordinator.lambda$startSchemaChangesEvolve$1(SchemaCoordinator.java:249)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.flink.util.FlinkRuntimeException: Failed to apply schema change event.
... 6 more
Caused by: SchemaEvolveException{applyingEvent=AlterColumnTypeEvent{tableId=ods.ods_tms_taskbill_oi_detail, typeMapping={bi_name=STRING NOT NULL}, oldTypeMapping={bi_name=VARCHAR(255) NOT NULL}}, exceptionMessage='fail to apply alter column type event', cause='org.apache.doris.flink.exception.DorisSchemaChangeException: Failed to schemaChange, response: {"msg":"Error","code":1,"data":"Failed to execute sql: java.sql.SQLException: (conn=6888) errCode = 2, detailMessage = Can not change default value","count":0}'}
at org.apache.flink.cdc.connectors.doris.sink.DorisMetadataApplier.applyAlterColumnTypeEvent(DorisMetadataApplier.java:297)
at org.apache.flink.cdc.connectors.doris.sink.DorisMetadataApplier.lambda$applySchemaChange$1(DorisMetadataApplier.java:120)
at org.apache.flink.cdc.common.event.visitor.SchemaChangeEventVisitor.visit(SchemaChangeEventVisitor.java:52)
at org.apache.flink.cdc.connectors.doris.sink.DorisMetadataApplier.applySchemaChange(DorisMetadataApplier.java:113)
at org.apache.flink.cdc.runtime.operators.schema.regular.SchemaCoordinator.applyAndUpdateEvolvedSchemaChange(SchemaCoordinator.java:437)
at org.apache.flink.cdc.runtime.operators.schema.regular.SchemaCoordinator.applySchemaChange(SchemaCoordinator.java:406)
at org.apache.flink.cdc.runtime.operators.schema.regular.SchemaCoordinator.lambda$startSchemaChangesEvolve$1(SchemaCoordinator.java:247)
... 5 more
Caused by: org.apache.doris.flink.exception.DorisSchemaChangeException: Failed to schemaChange, response: {"msg":"Error","code":1,"data":"Failed to execute sql: java.sql.SQLException: (conn=6888) errCode = 2, detailMessage = Can not change default value","count":0}
at org.apache.doris.flink.sink.schema.SchemaChangeManager.handleSchemaChange(SchemaChangeManager.java:232)
at org.apache.doris.flink.sink.schema.SchemaChangeManager.execute(SchemaChangeManager.java:273)
at org.apache.doris.flink.sink.schema.SchemaChangeManager.schemaChange(SchemaChangeManager.java:194)
at org.apache.doris.flink.sink.schema.SchemaChangeManager.modifyColumnDataType(SchemaChangeManager.java:164)
at org.apache.flink.cdc.connectors.doris.sink.DorisMetadataApplier.applyAlterColumnTypeEvent(DorisMetadataApplier.java:286)
... 11 more