{"record":{"id":"9fd812f3e58fa688","repo":"apache/seatunnel","slug":"common-17-9fd812","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-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/datatypes/StarRocksTypeConverter.java","lineNumber":175,"sourceCode":"            case SR_JSON:\n                builder.dataType(BasicType.STRING_TYPE);\n                builder.columnLength(MAX_STRING_LENGTH);\n                break;\n            case SR_DATE:\n                builder.dataType(LocalTimeType.LOCAL_DATE_TYPE);\n                break;\n            case SR_DATETIME:\n                builder.dataType(LocalTimeType.LOCAL_DATE_TIME_TYPE);\n                builder.scale(typeDefine.getScale() == null ? 0 : typeDefine.getScale());\n                break;\n            case SR_ARRAY:\n                convertArray(typeDefine.getColumnType(), builder, typeDefine.getName());\n                break;\n            case SR_MAP:\n                convertMap(typeDefine.getColumnType(), builder, typeDefine.getName());\n                break;\n            default:\n                throw CommonError.convertToSeaTunnelTypeError(\n                        identifier(), typeDefine.getColumnType(), typeDefine.getName());\n        }\n        return builder.build();\n    }\n\n    @Override\n    public BasicTypeDefine<StarRocksType> reconvert(Column column) {\n        BasicTypeDefine.BasicTypeDefineBuilder<StarRocksType> builder =\n                BasicTypeDefine.<StarRocksType>builder()\n                        .name(column.getName())\n                        .nullable(column.isNullable())\n                        .comment(column.getComment())\n                        .defaultValue(column.getDefaultValue());\n        switch (column.getDataType().getSqlType()) {\n            case NULL:\n                builder.columnType(SR_NULL);\n                builder.dataType(SR_NULL);\n                break;","sourceCodeStart":157,"sourceCodeEnd":193,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/datatypes/StarRocksTypeConverter.java#L157-L193","documentation":"StarRocksTypeConverter.convert() maps a StarRocks column type definition (BasicTypeDefine<StarRocksType>) to a SeaTunnel data type. The switch over StarRocksType handles BOOLEAN/TINYINT.../DATETIME/ARRAY/MAP etc.; any StarRocks type outside that set hits the default branch and throws this error with the connector identifier, the column type string, and the column name.","triggerScenarios":"Catalog/schema reading reads a StarRocks column whose type (typeDefine.getColumnType() / getDataType()) resolves to a StarRocksType constant not covered by convert()'s switch — e.g. unsupported StarRocks native types like HLL, BITMAP, or newly added StarRocks types when reading an existing table's schema.","commonSituations":"Source reads a StarRocks table containing HLL/BITMAP/unsupported aggregate-type columns; a table was created with a newer StarRocks type that this SeaTunnel version's converter does not know; catalog-based schema discovery enumerates all columns including ones you do not intend to read.","solutions":["Remove or exclude the offending column from the read (select only supported columns in your query/catalog config).","Cast the column in StarRocks to a supported type (e.g. CAST(bitmap_col AS STRING)) in a view and read the view instead.","Upgrade SeaTunnel to a version whose StarRocksTypeConverter supports the column type.","Add a case for the missing StarRocksType in convert() if you control the build."],"exampleFix":"// before\nCREATE TABLE t (tags HLL HLL_UNION ...); -- read directly\n// after\nCREATE VIEW t_view AS SELECT CAST(user_id AS BIGINT) AS user_id, ... -- exclude/cast unsupported columns","handlingStrategy":"validation","validationCode":"// inspect the StarRocks table schema before reading\n// via mysql client: SHOW CREATE TABLE t;  or DESCRIBE t;\n// exclude or CAST unsupported columns (HLL, BITMAP, JSON on old versions, nested arrays) in a view\nCREATE VIEW t_supported AS SELECT CAST(col AS STRING) AS col, ... FROM t;","typeGuard":null,"tryCatchPattern":"try {\n    StarRocksCatalog catalog = ...;\n    catalog.getTable(schema, table);\n} catch (Exception e) {\n    LOG.error(\"StarRocks table has columns not convertible to SeaTunnel types; cast/exclude them: {}\", e.getMessage());\n    throw e;\n}","preventionTips":["Run DESCRIBE/SHOW CREATE TABLE and confirm every column type is supported before connecting a StarRocks source","Avoid reading HLL/BITMAP columns; use aggregate views exposing primitives instead","Read from views that CAST unsupported columns to STRING","Keep SeaTunnel version in sync with the StarRocks server version's type set"],"tags":["starrocks","type-conversion","schema","source"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}