{"record":{"id":"293cce142035b0b9","repo":"apache/hadoop","slug":"block-list-path-must-already-exist-on-remote-fs","errorCode":null,"errorMessage":"block list path must already exist on remote fs!","messagePattern":"block list path must already exist on remote fs!","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-infra/src/main/java/org/apache/hadoop/tools/dynamometer/Client.java","lineNumber":471,"sourceCode":"    } else {\n      this.hadoopBinary = DynoInfraUtils.fetchHadoopTarball(\n          new File(\".\").getAbsoluteFile(),\n          commandLine.getOptionValue(HADOOP_VERSION_ARG), getConf(), LOG)\n          .toString();\n    }\n    this.amOptions = AMOptions.initFromParser(commandLine);\n    this.clientTimeout = Integer\n        .parseInt(commandLine.getOptionValue(TIMEOUT_ARG, TIMEOUT_DEFAULT));\n    this.tokenFileLocation = commandLine.\n        getOptionValue(TOKEN_FILE_LOCATION_ARG);\n\n    amOptions.verify();\n\n    Path blockPath = new Path(blockListPath);\n    FileSystem blockListFS = blockPath.getFileSystem(getConf());\n    if (blockListFS.getUri().equals(FileSystem.getLocal(getConf()).getUri())\n        || !blockListFS.exists(blockPath)) {\n      throw new IllegalArgumentException(\n          \"block list path must already exist on remote fs!\");\n    }\n    numTotalDataNodes = blockListFS.listStatus(blockPath,\n        DynoConstants.BLOCK_LIST_FILE_FILTER).length;\n\n    if (commandLine.hasOption(WORKLOAD_REPLAY_ENABLE_ARG)) {\n      if (!commandLine.hasOption(WORKLOAD_INPUT_PATH_ARG)\n          || !commandLine.hasOption(WORKLOAD_START_DELAY_ARG)) {\n        throw new IllegalArgumentException(\"workload_replay_enable was \"\n            + \"specified; must include all required workload_ parameters.\");\n      }\n      launchWorkloadJob = true;\n      workloadInputPath = commandLine.getOptionValue(WORKLOAD_INPUT_PATH_ARG);\n      workloadOutputPath = commandLine.getOptionValue(WORKLOAD_OUTPUT_PATH_ARG);\n      workloadThreadsPerMapper = Integer\n          .parseInt(commandLine.getOptionValue(WORKLOAD_THREADS_PER_MAPPER_ARG,\n              String.valueOf(AuditReplayMapper.NUM_THREADS_DEFAULT)));\n      workloadRateFactor = Double.parseDouble(commandLine.getOptionValue(","sourceCodeStart":453,"sourceCodeEnd":489,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-infra/src/main/java/org/apache/hadoop/tools/dynamometer/Client.java#L453-L489","documentation":"Error \"block list path must already exist on remote fs!\" thrown in apache/hadoop.","triggerScenarios":"The workload block list path given to the dynamometer Client does not exist on the remote filesystem (e.g. HDFS), so the workload input cannot be staged.","commonSituations":"See trigger scenarios.","solutions":["Upload the block list file to the remote filesystem first, or correct the --block_list_path to an existing path."],"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"}