{"record":{"id":"35afe22aa780163a","repo":"apache/seatunnel","slug":"common-19-35afe2","errorCode":"COMMON-19","errorMessage":"'${identifier}' unsupported convert SeaTunnel data type '${dataType}' of '${field}' to connector data type.","messagePattern":"'(.+?)' unsupported convert SeaTunnel data type '(.+?)' of '(.+?)' to connector 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":535,"sourceCode":"                        reconvert(\n                                new PhysicalColumn(\n                                        \"element\",\n                                        elementType,\n                                        null,\n                                        null,\n                                        true,\n                                        null,\n                                        null,\n                                        null,\n                                        null));\n\n                builder.nativeType(TypeInfoFactory.getArrayTypeInfo(elementDefine.getNativeType()));\n                builder.columnType(String.format(\"ARRAY<%s>\", elementDefine.getColumnType()));\n                builder.dataType(ARRAY);\n                break;\n            case TIME:\n            default:\n                throw CommonError.convertToConnectorTypeError(\n                        MaxcomputeBaseOptions.PLUGIN_NAME,\n                        column.getDataType().getSqlType().name(),\n                        column.getName());\n        }\n\n        return builder.build();\n    }\n}\n","sourceCodeStart":517,"sourceCodeEnd":544,"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#L517-L544","documentation":"MaxCompute runtime type converter's reconvert() throws this when a SeaTunnel data type has no MaxCompute representation. TIME (and any other unlisted SqlType) is rejected in the switch default because MaxCompute ODPS types cannot express a TIME-only column.","triggerScenarios":"reconvert() is called on a CatalogColumn with SeaTunnel SqlType TIME (explicitly rejected) or another unmapped type during sink catalog table creation or schema sync.","commonSituations":"Auto-creating MaxCompute tables from sources with TIME columns; schema evolution carrying TIME or complex types into the MaxCompute sink.","solutions":["Cast TIME columns to TIMESTAMP or STRING before the MaxCompute sink via a transform","Drop TIME columns from the sink schema","Extend reconvert() with a mapping (e.g. TIME -> STRING 'HH:mm:ss')"],"exampleFix":"// before\nquery = \"SELECT id, t FROM src\" // t is TIME\n// after\nquery = \"SELECT id, CAST(t AS TIMESTAMP) AS t FROM src\"","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    CatalogColumn col = maxComputeConverter.reconvert(column);\n} catch (SeaTunnelConvertException e) {\n    LOG.warn(\"SeaTunnel type {} cannot map to MaxCompute for {}\", column.getDataType().getSqlType(), column.getName());\n    // fallback: cast TIME to TIMESTAMP in a transform before the sink\n}","preventionTips":["Validate the entire sink schema before enabling auto table creation"],"tags":["maxcompute","type-conversion","catalog"],"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"}