{"record":{"id":"d4f5be3637e7d405","repo":"apache/incubator-seata","slug":"not-support-config-type","errorCode":null,"errorMessage":"not support config type: ","messagePattern":"not support config type: ","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"config/seata-config-core/src/main/java/org/apache/seata/config/ConfigType.java","lineNumber":69,"sourceCode":"    SpringCloudConfig,\n    /**\n     * Custom config type\n     */\n    Custom;\n\n    /**\n     * Gets type.\n     *\n     * @param name the name\n     * @return the type\n     */\n    public static ConfigType getType(String name) {\n        for (ConfigType configType : values()) {\n            if (configType.name().equalsIgnoreCase(name)) {\n                return configType;\n            }\n        }\n        throw new IllegalArgumentException(\"not support config type: \" + name);\n    }\n}\n","sourceCodeStart":51,"sourceCodeEnd":72,"githubUrl":"https://github.com/apache/incubator-seata/blob/e01f97c6db397165050caa6764020410c2c8199a/config/seata-config-core/src/main/java/org/apache/seata/config/ConfigType.java#L51-L72","documentation":"ConfigType.getType(name) throws IllegalArgumentException('not support config type: ' + name) when the supplied name matches none of the enum constants (file, nacos, apollo, etcd3, zk, consul, custom) case-insensitively. It is the parser for config.type / registry.type values, so an unrecognized string means seata cannot select a Configuration implementation.","triggerScenarios":"config.type set to a typo ('naco', 'Apolo', 'redis'), a type whose module isn't on the classpath, or a valid name with stray whitespace/quotes; programmatic calls like ConfigType.getType(someUserInput).","commonSituations":"Hand-edited registry.conf/file.conf or -Dproperty typos; YAML configs where quoting introduces hidden characters; docs/tutorials referencing a config backend not supported by the seata version in use.","solutions":["Correct config.type (and registry.type if applicable) to one of: file, nacos, apollo, etcd3, zk, consul, custom — lowercase or any case works.","Check for whitespace/quotes/BOM around the value in the config file.","If you intended a custom provider, register it via SPI (Configuration ext) and use type 'custom'.","Ensure the matching seata-config-* dependency jar is on the classpath for that type."],"exampleFix":"# before\nconfig { type = \"nacos2\" }\n\n# after\nconfig { type = \"nacos\" }","handlingStrategy":"validation","validationCode":"Set<String> supported = Set.of(\"file\",\"nacos\",\"apollo\",\"etcd3\",\"zk\",\"consul\",\"custom\");\nString t = configType == null ? \"\" : configType.trim().toLowerCase(Locale.ROOT);\nif (!supported.contains(t)) {\n    throw new IllegalArgumentException(\"unsupported config type: \" + configType);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate config.type against the supported list in deployment pipelines","Avoid hand-editing config files for env-specific values; template them","Trim and lowercase type values from user input before parsing"],"tags":["config","enum","configuration","validation","seata"],"backgroundTag":null,"analyzedSha":"e01f97c6db397165050caa6764020410c2c8199a","analyzedAt":"2026-08-14T10:23:53.097Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}