{"record":{"id":"8c08cd96af0c369b","repo":"apache/seatunnel","slug":"common-17-8c08cd","errorCode":"COMMON-17","errorMessage":"'${identifier}' unsupported convert type '${dataType}' of '${field}' to SeaTunnel data type.","messagePattern":"'(.+?)' unsupported convert type '(.+?)' of '(.+?)' to SeaTunnel data type\\.","errorType":"error_code","errorClass":"SeaTunnelRuntimeException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/datatype/MaxComputeTypeConverter.java","lineNumber":307,"sourceCode":"                    if (typeDefine.getLength() == null || typeDefine.getLength() <= 0) {\n                        builder.columnLength(MAX_VARBINARY_LENGTH);\n                    } else {\n                        builder.columnLength(typeDefine.getLength());\n                    }\n                    builder.dataType(PrimitiveByteArrayType.INSTANCE);\n                    break;\n                case DATE:\n                    builder.dataType(LocalTimeType.LOCAL_DATE_TYPE);\n                    break;\n                case DATETIME:\n                case TIMESTAMP:\n                case TIMESTAMP_NTZ:\n                    builder.dataType(LocalTimeType.LOCAL_DATE_TIME_TYPE);\n                    builder.scale(typeDefine.getScale());\n                    break;\n                case INTERVAL:\n                default:\n                    throw CommonError.convertToSeaTunnelTypeError(\n                            MaxcomputeBaseOptions.PLUGIN_NAME, dataType, typeDefine.getName());\n            }\n        }\n        return builder.build();\n    }\n\n    @Override\n    public BasicTypeDefine<TypeInfo> reconvert(Column column) {\n        BasicTypeDefine.BasicTypeDefineBuilder<TypeInfo> builder =\n                BasicTypeDefine.<TypeInfo>builder()\n                        .name(column.getName())\n                        .nullable(column.isNullable())\n                        .comment(column.getComment())\n                        .defaultValue(column.getDefaultValue());\n\n        switch (column.getDataType().getSqlType()) {\n            case NULL:\n                builder.nativeType(TypeInfoFactory.getPrimitiveTypeInfo(OdpsType.STRING));","sourceCodeStart":289,"sourceCodeEnd":325,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/datatype/MaxComputeTypeConverter.java#L289-L325","documentation":"MaxCompute runtime type converter's convert() throws this when a column's native SqlType (from the typeDefine builder) is INTERVAL or another unmapped type. INTERmidate types like INTERVAL have no SeaTunnel equivalent mapping, so the default branch throws instead of returning a wrong type.","triggerScenarios":"MaxComputeTypeConverter.convert() (also invoked via arrayColumn/keyColumn/valueColumn for nested elements) encounters a Column with SqlType INTERVAL or any type without an explicit case.","commonSituations":"Source schema containing interval or exotic types propagated into MaxCompute read/write paths; nested array/map element columns carrying unmapped SqlTypes.","solutions":["Cast the interval column to a supported type (e.g. BIGINT seconds or STRING) upstream","Remove interval columns from the schema/SELECT list","Add an INTERVAL mapping case in MaxComputeTypeConverter.convert() if a sensible representation exists"],"exampleFix":"// before: schema includes Column.of(\"dur\", TimeIntervalType.class)\n// after\nColumn dur = Column.of(\"dur\", BasicType.LONG_TYPE); // store seconds","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    CatalogColumn col = maxComputeConverter.convert(column);\n} catch (SeaTunnelConvertException e) {\n    LOG.warn(\"Unsupported SqlType {} for column {}\", column.getDataType().getSqlType(), column.getName());\n    // fallback: replace with a supported representation upstream\n}","preventionTips":["Fail fast on INTERVAL and exotic types at schema-definition time"],"tags":["maxcompute","type-conversion"],"backgroundTag":"unsupported-dtype","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"}