apache/seatunnel · error · SeaTunnelRuntimeException
COMMON-17
COMMON-17
Error message
'${identifier}' unsupported convert type '${dataType}' of '${field}' to SeaTunnel data type. What it means
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.
Source
Thrown at seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/tablestore/TablestoreTypeMapper.java:73
String tablestoreServerType = metadata.getColumnTypeName(colIndex).toUpperCase();
switch (tablestoreServerType) {
case TABLESTORE_BOOL:
return BasicType.BOOLEAN_TYPE;
case TABLESTORE_BIGINT:
return BasicType.LONG_TYPE;
case TABLESTORE_DOUBLE:
return BasicType.DOUBLE_TYPE;
case TABLESTORE_VARCHAR:
case TABLESTORE_MEDIUMTEXT:
return BasicType.STRING_TYPE;
case TABLESTORE_VARBINARY:
case TABLESTORE_MEDIUMBLOB:
return PrimitiveByteArrayType.INSTANCE;
// Doesn't support yet
case TABLESTORE_UNKNOWN:
default:
final String jdbcColumnName = metadata.getColumnName(colIndex);
throw CommonError.convertToSeaTunnelTypeError(
DatabaseIdentifier.TABLE_STORE, tablestoreServerType, jdbcColumnName);
}
}
}
View on GitHub (pinned to cf67b549a7)
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.
Example fix
// before: attribute col with unsupported server type // after: write/convert the column as STRING on the Tablestore side, then re-read
Defensive patterns
Strategy: validation
Validate before calling
// Before reading, confirm attribute column types are supported // Supported: INTEGER, DOUBLE, BOOLEAN, STRING, BINARY // Inspect via Tablestore DescribeTable / data samples for each attribute column
Try / catch
try {
sourceReader.read();
} catch (SeaTunnelRuntimeException e) {
if (e.getMessage().contains("unsupported convert type")) {
// exclude/normalize the named column, then retry
} else { throw e; }
} Prevention
- 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.
When it happens
Trigger: Reading a Tablestore table whose column type resolves to TABLESTORE_UNKNOWN or an otherwise unmapped server type during schema conversion.
Common situations: Schemaless Tablestore tables where inferred column types are unusual; newer Tablestore types not known to the connector version; mixed-type attribute columns.
Related errors
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/f154aec034c34f44.
Report an issue: GitHub.