{"record":{"id":"82d70d69a13a267e","repo":"alibaba/nacos","slug":"failed-to-create-plugin-data-directory-datadir","errorCode":null,"errorMessage":"Failed to create plugin data directory: {dataDir}","messagePattern":"Failed to create plugin data directory: (.+?)","errorType":"exception","errorClass":"PluginPersistenceException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/alibaba/nacos/core/plugin/storage/FilePluginStatePersistenceImpl.java","lineNumber":84,"sourceCode":"    \n    private final Object configLock = new Object();\n    \n    public FilePluginStatePersistenceImpl() {\n        this.dataDir =\n            EnvUtil.getNacosHome() + File.separator + \"data\" + File.separator + PLUGIN_DATA_DIR;\n    }\n    \n    private void ensureDataDirExists() {\n        Path directory = Paths.get(dataDir);\n        if (Files.isDirectory(directory)) {\n            return;\n        }\n        try {\n            Files.createDirectories(directory);\n            LOGGER.info(\"[FilePluginStatePersistenceImpl] Created plugin data directory: {}\",\n                dataDir);\n        } catch (IOException e) {\n            throw new PluginPersistenceException(\n                \"Failed to create plugin data directory: \" + dataDir, e);\n        }\n    }\n    \n    /**\n     * Save plugin state.\n     *\n     * @param pluginId plugin ID\n     * @param enabled whether the plugin is enabled\n     */\n    @Override\n    public void saveState(String pluginId, boolean enabled) {\n        synchronized (stateLock) {\n            try {\n                Map<String, Boolean> states = loadAllStates();\n                states.put(pluginId, enabled);\n                writeJsonToFile(PLUGIN_STATE_FILE, states);\n                LOGGER.debug(\"[FilePluginStatePersistenceImpl] Saved plugin state: {}={}\", pluginId,","sourceCodeStart":66,"sourceCodeEnd":102,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/core/src/main/java/com/alibaba/nacos/core/plugin/storage/FilePluginStatePersistenceImpl.java#L66-L102","documentation":"Error \"Failed to create plugin data directory: {dataDir}\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at core/src/main/java/com/alibaba/nacos/core/plugin/storage/FilePluginStatePersistenceImpl.java:84 when the library encounters an invalid state.","commonSituations":"Creating the plugin data directory on disk failed.","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"}