{"record":{"id":"f8a81e60cd6c724d","repo":"apache/seatunnel","slug":"common-17-f8a81e","errorCode":"COMMON-17","errorMessage":"'<identifier>' unsupported convert type '<dataType>' of '<field>' to SeaTunnel data type.","messagePattern":"'<identifier>' unsupported convert type '<dataType>' of '<field>' to SeaTunnel data type\\.","errorType":"error_code","errorClass":"SeaTunnelRuntimeException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/datatype/DorisTypeConverterV2.java","lineNumber":175,"sourceCode":"                || columnInterType.equalsIgnoreCase(DORIS_STRING)) {\n            builder.dataType(ArrayType.STRING_ARRAY_TYPE);\n        } else if (columnInterType.toUpperCase(Locale.ROOT).startsWith(DORIS_ARRAY_DECIMAL_PRE)) {\n            int[] precisionAndScale = getPrecisionAndScale(columnInterType);\n            DecimalArrayType decimalArray =\n                    new DecimalArrayType(\n                            new DecimalType(precisionAndScale[0], precisionAndScale[1]));\n            builder.dataType(decimalArray);\n        } else if (columnInterType.equalsIgnoreCase(DORIS_ARRAY_DATE_INTER)\n                || columnInterType.equalsIgnoreCase(DORIS_ARRAY_DATEV2_INTER)) {\n            builder.dataType(ArrayType.LOCAL_DATE_ARRAY_TYPE);\n        } else if (columnInterType.equalsIgnoreCase(DORIS_ARRAY_DATETIME_INTER)\n                || columnInterType.equalsIgnoreCase(DORIS_ARRAY_DATETIMEV2_INTER)) {\n            builder.dataType(ArrayType.LOCAL_DATE_TIME_ARRAY_TYPE);\n        } else if (columnInterType.equalsIgnoreCase(DORIS_LARGEINT)) {\n            DecimalArrayType decimalArray = new DecimalArrayType(new DecimalType(20, 0));\n            builder.dataType(decimalArray);\n        } else {\n            throw CommonError.convertToSeaTunnelTypeError(IDENTIFIER, columnType, name);\n        }\n    }\n\n    private static String extractArrayType(String input) {\n        Pattern pattern = Pattern.compile(\"<(.*?)>\");\n        Matcher matcher = pattern.matcher(input);\n\n        return matcher.find() ? matcher.group(1) : \"\";\n    }\n\n    private static String[] extractMapKeyValueType(String input) {\n        String[] result = new String[2];\n        input = input.replaceAll(\"map<\", \"\").replaceAll(\"MAP<\", \"\").replaceAll(\">\", \"\");\n        String[] split = input.split(\",\");\n        if (split.length == 4) {\n            // decimal(10,2),decimal(10,2)\n            result[0] = split[0] + \",\" + split[1];\n            result[1] = split[2] + \",\" + split[3];","sourceCodeStart":157,"sourceCodeEnd":193,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/datatype/DorisTypeConverterV2.java#L157-L193","documentation":"DorisTypeConverterV2.convertArray failed to map an ARRAY column's inner element type to a SeaTunnel array type. After handling known inner types (INT variants, DATE/DATETIMEV2, LARGEINT), any unrecognized inner type throws this error.","triggerScenarios":"convertArray (called from convert) parses a Doris ARRAY<...> column whose extracted inner type is unsupported (e.g. ARRAY<DECIMALV3(..)> or ARRAY<JSON>) when reading Doris schema.","commonSituations":"Reading Doris tables with ARRAY<DECIMAL>, ARRAY<JSON>, or other newer inner types; Doris version drift between what the connector supports and the cluster's schema.","solutions":["Change the Doris column so the array element is a supported type (INT/BIGINT/DATE/DATETIMEV2/LARGEINT)","Cast the array column to ARRAY<STRING> in a view and read that","Upgrade SeaTunnel Doris connector for broader array inner-type support"],"exampleFix":"-- before\nARRAY<DECIMALV3(10,2)>\n-- after\nARRAY<STRING>","handlingStrategy":"validation","validationCode":"String inner = columnType.replaceAll(\"(?i)^array<|>$\", \"\"); Set<String> ok = Set.of(\"INT\",\"BIGINT\",\"DATE\",\"DATETIMEV2\",\"LARGEINT\"); if (!ok.contains(inner.toUpperCase().split(\"\\\\(\")[0])) throw new IllegalStateException(\"unsupported Doris array inner type: \" + inner);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Restrict Doris ARRAY inner types to those the connector supports","Use views casting unsupported arrays to ARRAY<STRING>","Keep connector updated for newer array element types"],"tags":["doris","type-conversion","array"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}