{"record":{"id":"78b6988acf6a4c8e","repo":"apache/seatunnel","slug":"unsupported-data-type-78b698","errorCode":"UNSUPPORTED_DATA_TYPE","errorMessage":"SeaTunnel not support this data type [%s]","messagePattern":"SeaTunnel not support this data type \\[(.+?)\\]","errorType":"error_code","errorClass":"SeaTunnelTextFormatException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-sls/src/main/java/org/apache/seatunnel/connectors/seatunnel/sls/serialization/FastLogDeserializationSchema.java","lineNumber":127,"sourceCode":"                return Byte.parseByte(field);\n            case SMALLINT:\n                return Short.parseShort(field);\n            case INT:\n                return Integer.parseInt(field);\n            case BIGINT:\n                return Long.parseLong(field);\n            case FLOAT:\n                return Float.parseFloat(field);\n            case DOUBLE:\n                return Double.parseDouble(field);\n            case DECIMAL:\n                return new BigDecimal(field);\n            case NULL:\n                return null;\n            case BYTES:\n                return field.getBytes(StandardCharsets.UTF_8);\n            default:\n                throw new SeaTunnelTextFormatException(\n                        CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE,\n                        String.format(\n                                \"SeaTunnel not support this data type [%s]\",\n                                fieldType.getSqlType()));\n        }\n    }\n}\n","sourceCodeStart":109,"sourceCodeEnd":135,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-sls/src/main/java/org/apache/seatunnel/connectors/seatunnel/sls/serialization/FastLogDeserializationSchema.java#L109-L135","documentation":"FastLogDeserializationSchema.convert maps Alibaba SLS FastLog fields to Java objects by SeaTunnel SQL type. When the field's SqlType is not one of the handled cases (STRING, INT, BIGINT, DOUBLE, FLOAT, DECIMAL, BOOLEAN, DATE/TIMESTAMP variants, NULL, BYTES), it throws SeaTunnelTextFormatException with code UNSUPPORTED_DATA_TYPE and the unsupported type name. This is a deserialization-time guard: the schema declares a type the SLS converter cannot materialize.","triggerScenarios":"convert/field is invoked on a FastLog field whose resolved SeaTunnelFieldType.getSqlType() falls into the default branch — e.g. MAP, ARRAY, ROW, or other structured/complex types declared in the SLS source schema.","commonSituations":"SLS log fields auto-detected as complex types; users declaring ARRAY/MAP columns in the seaTunnel schema for log data that only contains scalars; connector version lacking support for a newer SQL type; schema mismatch between the declared SLS source schema and actual log content.","solutions":["Change the SLS source schema so the offending column is declared as STRING (or another supported scalar type).","Inspect the error message's [%s] value to identify which SqlType is unsupported, then adjust the schema.","Flatten complex fields to strings upstream (e.g. JSON-encode arrays/maps into a string field) before ingestion.","Upgrade the connector if a newer version added support for the type you need."],"exampleFix":"// before: schema declares an unsupported complex type\nschema = {\n  tags = array<string>\n}\n// after: declare as string and JSON-encode content\nschema = {\n  tags = string\n}","handlingStrategy":"type-guard","validationCode":"Set<SqlType> SUPPORTED = Set.of(STRING, INT, BIGINT, FLOAT, DOUBLE, DECIMAL, BOOLEAN, DATE, TIMESTAMP, NULL, BYTES);\nfor (SeaTunnelDataType<?> t : rowType.getFieldTypes()) {\n    if (!SUPPORTED.contains(t.getSqlType())) {\n        throw new IllegalArgumentException(\"SLS schema field type not supported: \" + t.getSqlType());\n    }\n}","typeGuard":"boolean isSlsSupportedType(SeaTunnelDataType<?> t) {\n    switch (t.getSqlType()) {\n        case STRING: case INT: case BIGINT: case FLOAT: case DOUBLE:\n        case DECIMAL: case BOOLEAN: case DATE: case TIMESTAMP: case NULL: case BYTES:\n            return true;\n        default:\n            return false;\n    }\n}","tryCatchPattern":"try {\n    Object value = schema.convert(fastLog);\n} catch (SeaTunnelTextFormatException e) {\n    log.error(\"Unsupported SLS field type, fix source schema: {}\", e.getMessage());\n    throw e; // schema problem, not retryable\n}","preventionTips":["Declare SLS source fields as scalar types (prefer STRING) at schema design time.","JSON-encode complex nested log fields into string columns.","Validate the declared schema against the supported-type list before job submission.","Keep the connector updated for newly supported SQL types."],"tags":["sls","deserialization","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-14T05:17:10.506Z"}