apache/seatunnel · error · OpenMldbConnectorException
UNSUPPORTED_DATA_TYPE
UNSUPPORTED_DATA_TYPE
Error message
Unsupported this data type
What it means
Thrown by OpenMldbSourceReader.getObject when converting a JDBC result-set value whose SeaTunnel SeaTunnelDataType is not among the handled cases (string/boolean/tinyint/smallint/int/bigint/float/double/date/timestamp). The reader cannot materialize the row, so it raises UNSUPPORTED_DATA_TYPE during pollNext.
Source
Thrown at seatunnel-connectors-v2/connector-openmldb/src/main/java/org/apache/seatunnel/connectors/seatunnel/openmldb/source/OpenMldbSourceReader.java:114
return resultSet.getInt(index);
case SMALLINT:
return resultSet.getShort(index);
case BIGINT:
return resultSet.getLong(index);
case FLOAT:
return resultSet.getFloat(index);
case DOUBLE:
return resultSet.getDouble(index);
case STRING:
return resultSet.getString(index);
case DATE:
Date date = resultSet.getDate(index);
return date.toLocalDate();
case TIMESTAMP:
Timestamp timestamp = resultSet.getTimestamp(index);
return timestamp.toLocalDateTime();
default:
throw new OpenMldbConnectorException(
CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE,
"Unsupported this data type");
}
}
}
View on GitHub (pinned to cf67b549a7)
Solutions
- Exclude or CAST the offending column in the source SQL to a supported type.
- Check that the table schema did not change since job startup; restart with the updated schema.
- Add a read-side case for the type in OpenMldbSourceReader.getObject if you maintain the connector.
- File/verify a SeaTunnel issue for the missing type mapping in the OpenMldb connector.
Example fix
// before SELECT id, payload FROM db1.table1 -- payload is BINARY // after SELECT id, CAST(payload AS STRING) AS payload FROM db1.table1
Defensive patterns
Strategy: validation
Validate before calling
// Before reading, compare result-set metadata types against the supported set: // ResultSetMetaData md = rs.getMetaData(); // for (int i = 1; i <= md.getColumnCount(); i++) check md.getColumnType(i) is supported.
Try / catch
try {
row = reader.pollNext();
} catch (OpenMldbConnectorException e) {
// check message "Unsupported this data type"; re-plan with CASTed columns
throw e;
} Prevention
- CAST unsupported columns to supported types in the SELECT statement.
- Avoid schema changes on source tables while jobs are running.
- Restart jobs after any table schema evolution so schema and reader stay in sync.
When it happens
Trigger: pollNext iterates result set columns and getObject encounters a column type that fell through the switch default — typically a type that was somehow allowed at schema conversion time but has no read-side conversion (e.g. BYTES/DECIMAL/BINARY).
Common situations: Table schema changed between planning and read time, source SQL selecting binary/decimal columns, or schema/type mismatch between the connector's catalog conversion and the actual result set metadata.
Related errors
- UNSUPPORTED_DATA_TYPE
- array inject error, unsupported data type: " + type
- UNSUPPORTED_DATA_TYPE
- COMMON_ERROR_CODE-17
- UNSUPPORTED_DATA_TYPE
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/fe96d4e0fb8fca20.
Report an issue: GitHub.