{"record":{"id":"c5911ab4a13c453e","repo":"alibaba/nacos","slug":"runtime-persisted-plugin-config-storage-storagen","errorCode":null,"errorMessage":"Runtime persisted plugin config storage '{storageName}' is unavailable","messagePattern":"Runtime persisted plugin config storage '(.+?)' is unavailable","errorType":"exception","errorClass":"PluginPersistenceException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/alibaba/nacos/core/plugin/config/RuntimePersistedPluginConfigSourceResolver.java","lineNumber":156,"sourceCode":"    @Override\n    public PluginConfigSourceType getSourceType() {\n        return PluginConfigSourceType.RUNTIME_PERSISTED;\n    }\n    \n    private Map<String, Map<String, String>> copyConfigs(\n        Map<String, Map<String, String>> configs) {\n        Map<String, Map<String, String>> result = new HashMap<>();\n        if (configs != null) {\n            configs.forEach((pluginId, config) -> result.put(pluginId,\n                config == null ? Collections.emptyMap() : new HashMap<>(config)));\n        }\n        return result;\n    }\n    \n    private PluginConfigStorage getAvailableStorage() {\n        initialize();\n        if (!available || storage == null) {\n            throw new PluginPersistenceException(\"Runtime persisted plugin config storage '\"\n                + getStorageName() + \"' is unavailable\", unavailableCause);\n        }\n        return storage;\n    }\n    \n    private void markUnavailable(Throwable cause) {\n        available = false;\n        unavailableCause = cause;\n        replaceAllConfigs(Collections.emptyMap());\n        shutdownStorage();\n        if (cause == null) {\n            LOGGER.error(\"[RuntimePersistedPluginConfigSourceResolver] No plugin config storage \"\n                + \"is enabled. Continue startup without runtime persisted config.\");\n        } else {\n            LOGGER.error(\"[RuntimePersistedPluginConfigSourceResolver] Failed to initialize or \"\n                + \"read storage '{}'. Continue startup without runtime persisted config.\",\n                getStorageName(), cause);\n        }","sourceCodeStart":138,"sourceCodeEnd":174,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/core/src/main/java/com/alibaba/nacos/core/plugin/config/RuntimePersistedPluginConfigSourceResolver.java#L138-L174","documentation":"Error \"Runtime persisted plugin config storage '{storageName}' is unavailable\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at core/src/main/java/com/alibaba/nacos/core/plugin/config/RuntimePersistedPluginConfigSourceResolver.java:156 when the library encounters an invalid state.","commonSituations":"The named runtime persisted plugin config storage is unavailable.","solutions":["Check the server/plugin configuration and enable the required module or use a supported alternative."],"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"}