{"record":{"id":"2628002718af3dff","repo":"apache/flink","slug":"the-given-file-system-uri-fsuri-did-not-descr-262800","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: Hadoop configuration for default file system ('fs.default.name' or 'fs.defaultFS') contains no valid authority component (like hdfs namenode, S3 host, etc)","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: Hadoop configuration for default file system \\('fs\\.default\\.name' or 'fs\\.defaultFS'\\) contains no valid authority component \\(like hdfs namenode, S3 host, etc\\)","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":157,"sourceCode":"                }\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 {\n                hadoopFs.initialize(initUri, hadoopConfig);\n            } catch (UnknownHostException e) {\n                String message =\n                        \"The Hadoop file system's authority (\"\n                                + initUri.getAuthority()\n                                + \"), specified by either the file URI or the configuration, cannot be resolved.\";\n\n                throw new IOException(message, e);","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-filesystems/flink-hadoop-fs/src/main/java/org/apache/flink/runtime/fs/hdfs/HadoopFsFactory.java#L139-L175","documentation":"fs.defaultFS parses as a URI but the resulting URI has no authority component (e.g. 'hdfs:///'), so the default-authority fallback still cannot supply a NameNode address. HadoopFsFactory throws IOException stating the default filesystem configuration contains no valid authority.","triggerScenarios":"fs.defaultFS set to a scheme-only URI such as 'hdfs:/// ' or 'file:///' while trying to create an HDFS filesystem from an authority-less URI; initUri.getAuthority() returns null in HadoopFsFactory.","commonSituations":"Copy-pasted core-site.xml with authority stripped; default config of shaded Hadoop; someone replaced the NameNode address with a placeholder during templating.","solutions":["Set fs.defaultFS to include the authority: hdfs://namenode-host:8020","Prefer specifying the full authority directly in the Flink path/checkpoint URI: hdfs://namenode:8020/flink/checkpoints","Validate the deployed core-site.xml on every node actually contains the host:port"],"exampleFix":"# before\nfs.defaultFS: hdfs:///\n# after\nfs.defaultFS: hdfs://namenode:8020","handlingStrategy":"validation","validationCode":"URI def = URI.create(conf.get(\"fs.defaultFS\", \"\"));\nif (def.getAuthority() == null) {\n    throw new IllegalStateException(\"fs.defaultFS lacks an authority: expected hdfs://host:port\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    fs = FileSystem.get(uri);\n} catch (IOException e) {\n    if (e.getMessage().contains(\"no valid authority component\")) {\n        // set fs.defaultFS to hdfs://namenode:8020 and retry setup\n    }\n}","preventionTips":["Standardize fs.defaultFS on the full hdfs://host:port form","Config-validation step in CI that parses and checks the authority","Avoid scheme-only defaults like hdfs:///"],"tags":["hdfs","configuration","fs-defaultfs","uri"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}