{"record":{"id":"591266bb068c1ad4","repo":"apache/flink","slug":"the-given-configuration-directory-name-d-591266","errorCode":null,"errorMessage":"The given configuration directory name '{}' ({}) does not describe an existing directory.","messagePattern":"The given configuration directory name '(.+?)' \\((.+?)\\) does not describe an existing directory\\.","errorType":"validation","errorClass":"IllegalConfigurationException","httpStatus":null,"severity":"critical","filePath":"flink-core/src/main/java/org/apache/flink/configuration/GlobalConfiguration.java","lineNumber":132,"sourceCode":"    /**\n     * Loads the configuration files from the specified directory. If the dynamic properties\n     * configuration is not null, then it is added to the loaded configuration.\n     *\n     * @param configDir directory to load the configuration from\n     * @param dynamicProperties configuration file containing the dynamic properties. Null if none.\n     * @return The configuration loaded from the given configuration directory\n     */\n    public static Configuration loadConfiguration(\n            final String configDir, @Nullable final Configuration dynamicProperties) {\n\n        if (configDir == null) {\n            throw new IllegalArgumentException(\n                    \"Given configuration directory is null, cannot load configuration\");\n        }\n\n        final File confDirFile = new File(configDir);\n        if (!(confDirFile.exists())) {\n            throw new IllegalConfigurationException(\n                    \"The given configuration directory name '\"\n                            + configDir\n                            + \"' (\"\n                            + confDirFile.getAbsolutePath()\n                            + \") does not describe an existing directory.\");\n        }\n\n        // get Flink yaml configuration file\n        Configuration configuration;\n        File yamlConfigFile = new File(confDirFile, FLINK_CONF_FILENAME);\n        if (!yamlConfigFile.exists()) {\n            throw new IllegalConfigurationException(\n                    \"The Flink config file '\"\n                            + yamlConfigFile\n                            + \"' (\"\n                            + yamlConfigFile.getAbsolutePath()\n                            + \") does not exist.\");\n        } else {","sourceCodeStart":114,"sourceCodeEnd":150,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-core/src/main/java/org/apache/flink/configuration/GlobalConfiguration.java#L114-L150","documentation":"Thrown by GlobalConfiguration.loadConfiguration (as IllegalConfigurationException) when the supplied config directory path does not exist on the filesystem. The path is checked with File.exists() after the null guard.","triggerScenarios":"Passing a path string that does not resolve to an existing directory: typos, wrong relative path, missing mount, or a path that exists but is a file rather than a directory.","commonSituations":"FLINK_CONF_DIR pointing to a non-existent directory. Container or pod where the conf volume isn't mounted. Relative path resolved from an unexpected working directory.","solutions":["Verify the directory exists at the given absolute path (the error prints the resolved path).","Correct FLINK_CONF_DIR or the path passed to loadConfiguration.","In containers, ensure the conf directory volume is mounted before the process starts."],"exampleFix":"# before\nexport FLINK_CONF_DIR=/opt/flink/conf-typo\n\n# after\nexport FLINK_CONF_DIR=/opt/flink/conf","handlingStrategy":"validation","validationCode":"File d = new File(configDir);\nif (!d.isDirectory()) {\n    throw new IllegalArgumentException(\"Config dir does not exist: \" + d.getAbsolutePath());\n}","typeGuard":null,"tryCatchPattern":"try {\n    GlobalConfiguration.loadConfiguration(configDir);\n} catch (IllegalConfigurationException e) {\n    if (e.getMessage().contains(\"does not describe an existing directory\")) { /* fix path */ }\n}","preventionTips":["Verify the conf directory exists before startup.","Use absolute paths to avoid working-directory ambiguity.","In containers, ensure conf volume mounts are present."],"tags":["configuration","startup","filesystem"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}