{"record":{"id":"f154aec034c34f44","repo":"apache/seatunnel","slug":"common-17-f154ae","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-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/tablestore/TablestoreTypeMapper.java","lineNumber":73,"sourceCode":"        String tablestoreServerType = metadata.getColumnTypeName(colIndex).toUpperCase();\n        switch (tablestoreServerType) {\n            case TABLESTORE_BOOL:\n                return BasicType.BOOLEAN_TYPE;\n            case TABLESTORE_BIGINT:\n                return BasicType.LONG_TYPE;\n            case TABLESTORE_DOUBLE:\n                return BasicType.DOUBLE_TYPE;\n            case TABLESTORE_VARCHAR:\n            case TABLESTORE_MEDIUMTEXT:\n                return BasicType.STRING_TYPE;\n            case TABLESTORE_VARBINARY:\n            case TABLESTORE_MEDIUMBLOB:\n                return PrimitiveByteArrayType.INSTANCE;\n                // Doesn't support yet\n            case TABLESTORE_UNKNOWN:\n            default:\n                final String jdbcColumnName = metadata.getColumnName(colIndex);\n                throw CommonError.convertToSeaTunnelTypeError(\n                        DatabaseIdentifier.TABLE_STORE, tablestoreServerType, jdbcColumnName);\n        }\n    }\n}\n","sourceCodeStart":55,"sourceCodeEnd":78,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/tablestore/TablestoreTypeMapper.java#L55-L78","documentation":"TablestoreTypeMapper.mapping() converts an Alibaba Tablestore column type to a SeaTunnel type during reading. Only a fixed set of TABLESTORE_* constants is supported; TABLESTORE_UNKNOWN or unrecognized types hit the default branch and throw CommonError.convertToSeaTunnelTypeError with the column name from metadata.","triggerScenarios":"Reading a Tablestore table whose column type resolves to TABLESTORE_UNKNOWN or an otherwise unmapped server type during schema conversion.","commonSituations":"Schemaless Tablestore tables where inferred column types are unusual; newer Tablestore types not known to the connector version; mixed-type attribute columns.","solutions":["Ensure attribute columns have standard supported types (INTEGER/DOUBLE/BOOLEAN/STRING/BINARY) when designing the table or writing data.","Exclude the unsupported attribute column from the read schema.","Upgrade the connector version in case newer mappings exist.","Extend TablestoreTypeMapper with a mapping case if the type can be safely represented."],"exampleFix":"// before: attribute col with unsupported server type\n// after: write/convert the column as STRING on the Tablestore side, then re-read","handlingStrategy":"validation","validationCode":"// Before reading, confirm attribute column types are supported\n// Supported: INTEGER, DOUBLE, BOOLEAN, STRING, BINARY\n// Inspect via Tablestore DescribeTable / data samples for each attribute column","typeGuard":null,"tryCatchPattern":"try {\n    sourceReader.read();\n} catch (SeaTunnelRuntimeException e) {\n    if (e.getMessage().contains(\"unsupported convert type\")) {\n        // exclude/normalize the named column, then retry\n    } else { throw e; }\n}","preventionTips":["Standardize Tablestore attribute column types at write time.","Avoid mixed-type attribute columns in schemaless tables.","Sample data and infer types before onboarding a table to the pipeline.","Keep the connector version current for newer Tablestore type support."],"tags":["jdbc","tablestore","type-conversion","source","unsupported-type"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}