{"record":{"id":"82dbc0d8ffbd06c9","repo":"apache/hadoop","slug":"bad-journal-uri-please-check-configuration-for-hd","errorCode":null,"errorMessage":"Bad journal uri. Please check configuration for hdfs.fedbalance.procedure.scheduler.journal.uri","messagePattern":"Bad journal uri\\. Please check configuration for hdfs\\.fedbalance\\.procedure\\.scheduler\\.journal\\.uri","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcServer.java","lineNumber":662,"sourceCode":"   *   /journal/router-namespace/host0\n   * In non-ha mode the journal path is based on ip and port:\n   *   JOURNAL_BASE/host_port\n   * e.g.\n   *   /journal/0.0.0.0_8888\n   */\n  private void initRouterFedRename() throws IOException {\n    routerRenameOption = RouterRenameOption.valueOf(\n        conf.get(DFS_ROUTER_FEDERATION_RENAME_OPTION,\n            DFS_ROUTER_FEDERATION_RENAME_OPTION_DEFAULT).toUpperCase());\n    switch (routerRenameOption) {\n    case DISTCP:\n      RouterFederationRename.checkConfiguration(conf);\n      Configuration sConf = new Configuration(conf);\n      URI journalUri;\n      try {\n        journalUri = new URI(sConf.get(SCHEDULER_JOURNAL_URI));\n      } catch (URISyntaxException | NullPointerException e) {\n        throw new IOException(\"Bad journal uri. Please check configuration for \"\n            + SCHEDULER_JOURNAL_URI);\n      }\n      Path child;\n      String nsId = DFSUtil.getNamenodeNameServiceId(conf);\n      String namenodeId = HAUtil.getNameNodeId(conf, nsId);\n      InetSocketAddress listenAddress = this.rpcServer.getListenerAddress();\n      if (nsId == null || namenodeId == null) {\n        child = new Path(\n            listenAddress.getHostName() + \"_\" + listenAddress.getPort());\n      } else {\n        child = new Path(nsId, namenodeId);\n      }\n      String routerJournal = new Path(journalUri.toString(), child).toString();\n      sConf.set(SCHEDULER_JOURNAL_URI, routerJournal);\n      fedRenameScheduler = new BalanceProcedureScheduler(sConf);\n      fedRenameScheduler.init(true);\n      break;\n    case NONE:","sourceCodeStart":644,"sourceCodeEnd":680,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcServer.java#L644-L680","documentation":"Error \"Bad journal uri. Please check configuration for hdfs.fedbalance.procedure.scheduler.journal.uri\" thrown in apache/hadoop.","triggerScenarios":"FedBalance scheduler journal URI failed to parse during RouterRpcServer initialization.","commonSituations":"Missing or malformed hdfs.fedbalance.procedure.scheduler.journal.uri property when enabling router fedbalance.","solutions":["Set hdfs.fedbalance.procedure.scheduler.journal.uri to a valid URI (e.g. hdfs://ns/journal or file:///path).","Fix URI syntax errors (missing scheme, illegal characters) in the configuration.","Ensure the scheme is supported and the path is writable by the Router."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}