{"record":{"id":"dacf7bef539f134a","repo":"apache/seatunnel","slug":"common-19-dacf7b","errorCode":"COMMON-19","errorMessage":"'<identifier>' unsupported convert SeaTunnel data type '<dataType>' of '<field>' to connector data type.","messagePattern":"'<identifier>' unsupported convert SeaTunnel data type '<dataType>' of '<field>' to connector data type\\.","errorType":"error_code","errorClass":"SeaTunnelRuntimeException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/datatype/AbstractDorisTypeConverter.java","lineNumber":244,"sourceCode":"        }\n\n        if (column.getColumnLength() <= MAX_STRING_LENGTH) {\n            builder.columnType(DORIS_STRING);\n            builder.dataType(DORIS_STRING);\n            return;\n        }\n\n        if (column.getColumnLength() > MAX_STRING_LENGTH) {\n            log.warn(\n                    String.format(\n                            \"The String type in Doris can only store up to 2GB bytes, and the current field [%s] length is [%s] bytes. If it is greater than the maximum length of the String in Doris, it may not be able to write data\",\n                            column.getName(), column.getColumnLength()));\n            builder.columnType(DORIS_STRING);\n            builder.dataType(DORIS_STRING);\n            return;\n        }\n\n        throw CommonError.convertToConnectorTypeError(\n                IDENTIFIER, column.getDataType().getSqlType().name(), column.getName());\n    }\n\n    /**\n     * Maximum decimal scale accepted by the target Doris version.\n     *\n     * <p>DECIMALV3 only requires the scale to not exceed the precision, which the caller already\n     * enforces, so the default imposes no further limit. Doris 1.x is stricter and overrides this.\n     *\n     * @return the largest scale that may be emitted for a decimal column\n     */\n    protected int getMaxDecimalScale() {\n        return MAX_PRECISION.intValue();\n    }\n\n    protected BasicTypeDefine sampleReconvert(\n            Column column, BasicTypeDefine.BasicTypeDefineBuilder builder) {\n","sourceCodeStart":226,"sourceCodeEnd":262,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/datatype/AbstractDorisTypeConverter.java#L226-L262","documentation":"The Doris type converter could not map a SeaTunnel data type back to a Doris column type when building the connector DDL/type for a sink. The SeaTunnel column's SQL type is not handled in sampleReconvertString's mapping, so the write schema cannot be expressed in Doris.","triggerScenarios":"sampleReconvertString receives a SeaTunnel Column whose dataType.getSqlType() is not one of the reconvert-supported types during sink schema conversion.","commonSituations":"Sink schema declared manually with types Doris cannot represent; upstream source produced a type (e.g. MAP/ARRAY variants) not supported for Doris DDL generation; mismatched catalog table definition.","solutions":["Change the SeaTunnel schema field type to one Doris supports (e.g. STRING instead of MAP)","Use a transform (e.g. SQL/FieldMapper/Cast) to convert the field to a supported type before the Doris sink","Simplify the column to Doris STRING type in the sink schema"],"exampleFix":"// before\nSeaTunnelDataType<Map> t = DataTypes.MAP(DataTypes.STRING(), DataTypes.STRING());\n// after\nSeaTunnelDataType<String> t = DataTypes.STRING();","handlingStrategy":"validation","validationCode":"SqlType t = column.getDataType().getSqlType(); if (!(t == SqlType.STRING || t == SqlType.INT || /* ...supported set */ false)) throw new IllegalStateException(\"SeaTunnel type \" + t + \" unsupported for Doris sink\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Define sink schemas using only Doris-representable SeaTunnel types","Insert Cast/SQL transforms to flatten complex types before the sink","Review the converter's reconvert switch when designing schemas"],"tags":["doris","type-conversion","schema"],"backgroundTag":"type-mismatch","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}