{"record":{"id":"6b74ad771f76d200","repo":"alibaba/nacos","slug":"plugin-config-source-was-updated-but-failed-to-app","errorCode":null,"errorMessage":"Plugin config source was updated but failed to apply, pluginId={pluginId}, source={sourceType}","messagePattern":"Plugin config source was updated but failed to apply, pluginId=(.+?), source=(.+?)","errorType":"exception","errorClass":"PluginConfigApplyException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/alibaba/nacos/core/plugin/config/PluginConfigService.java","lineNumber":254,"sourceCode":"        synchronized (getPluginLock(pluginId)) {\n            Map<String, String> normalizedConfig = normalizeConfig(pluginInfo, config);\n            if (validateRuntimeUpdate && pluginInfo != null) {\n                normalizedConfig = preserveMaskedSensitiveValues(pluginInfo, normalizedConfig,\n                    sourceType);\n                validateRuntimeUpdate(pluginInfo, normalizedConfig, sourceType);\n            }\n            resolver.updateConfig(sourceType, pluginId, normalizedConfig);\n            if (pluginInfo == null) {\n                return;\n            }\n            PluginConfigResolution resolution = resolver.resolve(pluginInfo, false);\n            try {\n                checker.validateEffectiveConfig(pluginInfo, resolution.getConfig());\n                applier.apply(pluginId, pluginInstance, resolution.getConfig());\n            } catch (RuntimeException e) {\n                LOGGER.error(\"[PluginConfigService] Plugin config source was updated but failed \"\n                    + \"to apply, pluginId={}, source={}\", pluginId, sourceType, e);\n                throw new PluginConfigApplyException(\"Plugin config source was updated but failed \"\n                    + \"to apply, pluginId=\" + pluginId + \", source=\" + sourceType, e);\n            }\n            pluginInfo.setConfig(copyConfig(resolution.getConfig()));\n        }\n    }\n    \n    private void validateRuntimeUpdate(PluginInfo pluginInfo, Map<String, String> config,\n        PluginConfigSourceType sourceType) {\n        Map<String, String> currentConfig = resolver.getConfig(sourceType, pluginInfo);\n        checker.validateRuntimeUpdate(pluginInfo, currentConfig, config);\n    }\n    \n    private Map<String, String> preserveMaskedSensitiveValues(PluginInfo pluginInfo,\n        Map<String, String> config, PluginConfigSourceType sourceType) {\n        List<ConfigItemDefinition> definitions = pluginInfo.getConfigDefinitions();\n        if (definitions == null || definitions.isEmpty()) {\n            return config;\n        }","sourceCodeStart":236,"sourceCodeEnd":272,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/core/src/main/java/com/alibaba/nacos/core/plugin/config/PluginConfigService.java#L236-L272","documentation":"Error \"Plugin config source was updated but failed to apply, pluginId={pluginId}, source={sourceType}\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at core/src/main/java/com/alibaba/nacos/core/plugin/config/PluginConfigService.java:254 when the library encounters an invalid state.","commonSituations":"A plugin config source update could not be applied to the plugin.","solutions":["Inspect the server logs for the underlying cause, fix it, and retry the operation."],"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"}