[
https://issues.apache.org/jira/browse/FLINK-39758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mao Jiayi reopened FLINK-39758:
-------------------------------
> Fix error in canal json mysqlType when mysql type is varchar with no length
> ---------------------------------------------------------------------------
>
> Key: FLINK-39758
> URL: https://issues.apache.org/jira/browse/FLINK-39758
> Project: Flink
> Issue Type: Bug
> Components: Flink CDC
> Reporter: Mao Jiayi
> Priority: Major
> Labels: pull-request-available
>
> When using the Kafka pipeline connector with Canal JSON format and the
> *InferSchemaStrategy.MYSQL_TYPE* schema inference strategy, the job may fail
> when MySQL columns have missing or invalid length information.
> The failure happens in {*}MySqlTypeUtils{*}. The previous implementation does
> not properly validate column length before type conversion. When the MySQL
> binlog metadata contains columns with {*}length <= 0{*}, the code directly
> passes these invalid values to Flink's *DataTypes* constructors. For
> *VARCHAR* type, the code only checks {{== 0}} but not negative values. For
> *DECIMAL* type, there is no validation for non-positive length. For
> *VARBINARY* type, there is no length check at all.
> This issue occurs when parsing Canal JSON messages where certain MySQL column
> schemas have undefined lengths, causing invalid data type creation or runtime
> exceptions during schema inference.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)