{"record":{"id":"d6d8afd0dec1374c","repo":"alibaba/nacos","slug":"unknown-plugin-config-key","errorCode":null,"errorMessage":"Unknown plugin config key: {}","messagePattern":"Unknown plugin config key: (.+?)","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/alibaba/nacos/core/plugin/config/PluginConfigBasicChecker.java","lineNumber":101,"sourceCode":"        }\n    }\n    \n    private Map<String, ConfigItemDefinition> indexDefinitions(\n        List<ConfigItemDefinition> definitions) {\n        Map<String, ConfigItemDefinition> result = new LinkedHashMap<>();\n        for (ConfigItemDefinition definition : definitions) {\n            if (StringUtils.isNotBlank(definition.getKey())) {\n                result.put(definition.getKey(), definition);\n            }\n        }\n        return result;\n    }\n    \n    private void validateDefinedKeys(Map<String, String> config,\n        Map<String, ConfigItemDefinition> definitions) {\n        for (Map.Entry<String, String> entry : config.entrySet()) {\n            if (!definitions.containsKey(entry.getKey())) {\n                throw new IllegalArgumentException(\n                    \"Unknown plugin config key: \" + entry.getKey());\n            }\n            if (entry.getValue() == null) {\n                throw new IllegalArgumentException(\n                    \"Plugin config value cannot be null: \" + entry.getKey());\n            }\n        }\n    }\n    \n    private void validateRuntimeChangedKeys(Map<String, String> currentConfig,\n        Map<String, String> newConfig, Map<String, ConfigItemDefinition> definitions) {\n        Map<String, String> current = currentConfig == null ? Collections.emptyMap()\n            : currentConfig;\n        Set<String> changedKeys = new LinkedHashSet<>(current.keySet());\n        changedKeys.addAll(newConfig.keySet());\n        for (String key : changedKeys) {\n            if (Objects.equals(current.get(key), newConfig.get(key))\n                && current.containsKey(key) == newConfig.containsKey(key)) {","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/core/src/main/java/com/alibaba/nacos/core/plugin/config/PluginConfigBasicChecker.java#L83-L119","documentation":"Error \"Unknown plugin config key: {}\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at core/src/main/java/com/alibaba/nacos/core/plugin/config/PluginConfigBasicChecker.java:101 when the library encounters an invalid state.","commonSituations":"A plugin configuration update used an unknown key.","solutions":["Review the input and runtime state for unknown plugin config key, correct the reported problem, and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b989acdf181d00898f2e8839257bb2b2a3cefe3","analyzedAt":"2026-08-14T07:17:31.569Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}