{"record":{"id":"00eb0d5ed7d94ff9","repo":"apache/seatunnel","slug":"unsupported-type","errorCode":null,"errorMessage":"Unsupported type: ","messagePattern":"Unsupported type: ","errorType":"exception","errorClass":"java.lang.IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java","lineNumber":121,"sourceCode":"            return (T) convertToBoolean(rawValue);\n        } else if (clazz.isEnum()) {\n            return (T) convertToEnum(rawValue, (Class<? extends Enum<?>>) clazz);\n        } else if (String.class.equals(clazz)) {\n            return (T) convertToJsonString(rawValue);\n        } else if (Integer.class.equals(clazz)) {\n            return (T) convertToInt(rawValue);\n        } else if (Long.class.equals(clazz)) {\n            return (T) convertToLong(rawValue);\n        } else if (Float.class.equals(clazz)) {\n            return (T) convertToFloat(rawValue);\n        } else if (Double.class.equals(clazz)) {\n            return (T) convertToDouble(rawValue);\n        } else if (Duration.class.equals(clazz)) {\n            return (T) convertToDuration(rawValue);\n        } else if (Object.class.equals(clazz)) {\n            return (T) rawValue;\n        }\n        throw new IllegalArgumentException(\"Unsupported type: \" + clazz);\n    }\n\n    static Integer convertToInt(Object o) {\n        if (o.getClass() == Integer.class) {\n            return (Integer) o;\n        } else if (o.getClass() == Long.class) {\n            long value = (Long) o;\n            if (value <= Integer.MAX_VALUE && value >= Integer.MIN_VALUE) {\n                return (int) value;\n            } else {\n                throw new IllegalArgumentException(\n                        String.format(\n                                \"Configuration value %s overflows/underflows the integer type.\",\n                                value));\n            }\n        }\n\n        return Integer.parseInt(o.toString());","sourceCodeStart":103,"sourceCodeEnd":139,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java#L103-L139","documentation":"Thrown from ConfigUtil.convertValue as the terminal fall-through of its if/else type dispatch: the option's declared Class is not one of the supported types (primitive wrappers, String, Boolean, enum, Duration, Object, etc.). At its throw site it means a plugin declared an Option with a type ConfigUtil cannot convert raw config text into — a programming/configuration-schema error rather than a bad user value.","triggerScenarios":"Thrown at seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java:121 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Change the Option to one of the supported types (Boolean, Integer, Long, Float, Double, String, enum, Duration, Map, List, Object)","If a custom type is required, deserialize as Object or a supported container and convert in the plugin's own code","Check the option type declaration against ConfigUtil.convertValue's supported branches"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}