{"record":{"id":"fbb1e4c6daa574e7","repo":"apache/flink","slug":"the-given-file-system-uri-fsuri-did-not-descr-fbb1e4","errorCode":null,"errorMessage":"The given file system URI (${fsUri}) did not describe the authority (like for example HDFS NameNode address/port or S3 host). The attempt to use a configured default authority failed: The configuration contains an invalid file system default name ('fs.default.name' or 'fs.defaultFS'): ${configEntry}","messagePattern":"The given file system URI \\((.+?)\\) did not describe the authority \\(like for example HDFS NameNode address/port or S3 host\\)\\. The attempt to use a configured default authority failed: The configuration contains an invalid file system default name \\('fs\\.default\\.name' or 'fs\\.defaultFS'\\): (.+?)","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"flink-filesystems/flink-hadoop-fs/src/main/java/org/apache/flink/runtime/fs/hdfs/HadoopFsFactory.java","lineNumber":149,"sourceCode":"                if (configEntry == null) {\n                    // fs.default.name deprecated as of hadoop 2.2.0 - see\n                    // http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/DeprecatedProperties.html\n                    configEntry = hadoopConfig.get(\"fs.default.name\", null);\n                }\n\n                if (LOG.isDebugEnabled()) {\n                    LOG.debug(\"Hadoop's 'fs.defaultFS' is set to {}\", configEntry);\n                }\n\n                if (configEntry == null) {\n                    throw new IOException(\n                            getMissingAuthorityErrorPrefix(fsUri)\n                                    + \"Hadoop configuration did not contain an entry for the default file system ('fs.defaultFS').\");\n                } else {\n                    try {\n                        initUri = URI.create(configEntry);\n                    } catch (IllegalArgumentException e) {\n                        throw new IOException(\n                                getMissingAuthorityErrorPrefix(fsUri)\n                                        + \"The configuration contains an invalid file system default name \"\n                                        + \"('fs.default.name' or 'fs.defaultFS'): \"\n                                        + configEntry);\n                    }\n\n                    if (initUri.getAuthority() == null) {\n                        throw new IOException(\n                                getMissingAuthorityErrorPrefix(fsUri)\n                                        + \"Hadoop configuration for default file system ('fs.default.name' or 'fs.defaultFS') \"\n                                        + \"contains no valid authority component (like hdfs namenode, S3 host, etc)\");\n                    }\n                }\n            }\n\n            // -- (5) configure the Hadoop file system\n\n            try {","sourceCodeStart":131,"sourceCodeEnd":167,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-filesystems/flink-hadoop-fs/src/main/java/org/apache/flink/runtime/fs/hdfs/HadoopFsFactory.java#L131-L167","documentation":"While resolving a missing authority via the default filesystem config, fs.defaultFS (or deprecated fs.default.name) exists but its value is not a parseable URI: java.net.URI.create throws IllegalArgumentException, which HadoopFsFactory wraps in this IOException. The config entry is syntactically invalid (bad characters, malformed scheme, spaces).","triggerScenarios":"fs.defaultFS set to a value like 'hdfs: namenode:8020' or 'my namenode' (unparseable); URI.create(configEntry) throws inside HadoopFsFactory.create when the original fsUri lacked an authority.","commonSituations":"Typos in core-site.xml or flink-conf.yaml; values pasted with quotes/spaces; environment variable substitution producing empty or malformed strings in containerized deployments.","solutions":["Correct the fs.defaultFS value to a valid URI, e.g. hdfs://namenode:8020","Check for stray whitespace, quotes, or unresolved ${VAR} placeholders in core-site.xml / flink-conf.yaml","After fixing, verify with a URI parse test or by running hdfs getconf -confKey fs.defaultFS"],"exampleFix":"<!-- before --><property><name>fs.defaultFS</name><value>hdfs: namenode:8020</value></property>\n<!-- after --><property><name>fs.defaultFS</name><value>hdfs://namenode:8020</value></property>","handlingStrategy":"validation","validationCode":"String def = conf.get(\"fs.defaultFS\");\nif (def != null) {\n    try {\n        URI.create(def.trim());\n    } catch (IllegalArgumentException e) {\n        throw new IllegalStateException(\"fs.defaultFS is not a valid URI: '\" + def + \"'\");\n    }\n}","typeGuard":null,"tryCatchPattern":"try {\n    fs = FileSystem.get(uri);\n} catch (IOException e) {\n    if (e.getMessage().contains(\"invalid file system default name\")) {\n        // fix the fs.defaultFS string in core-site.xml / flink-conf.yaml\n    }\n}","preventionTips":["Lint configuration files for invalid URI values before deploy","Avoid hand-editing hostnames into XML; template them from one source","Watch for whitespace and unresolved placeholders after env substitution"],"tags":["hdfs","configuration","invalid-uri","fs-defaultfs"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}