{"record":{"id":"f065a38f19074124","repo":"apache/hadoop","slug":"duplicate-jar-path","errorCode":null,"errorMessage":"Duplicate jar{path}","messagePattern":"Duplicate jar(.+?)","errorType":"validation","errorClass":"UploaderException","httpStatus":null,"severity":"error","filePath":"hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-uploader/src/main/java/org/apache/hadoop/mapred/uploader/FrameworkUploader.java","lineNumber":438,"sourceCode":"        break;\n      }\n    }\n    boolean excluded = false;\n    for (Pattern pattern : blacklistedFiles) {\n      Matcher matcher = pattern.matcher(jar.getAbsolutePath());\n      if (matcher.matches()) {\n        LOG.info(\"Blacklisted \" + jar.getAbsolutePath());\n        excluded = true;\n        break;\n      }\n    }\n    if (ignoreSymlink && !excluded) {\n      excluded = checkSymlink(jar);\n    }\n    if (found && !excluded) {\n      LOG.info(\"Whitelisted \" + jar.getAbsolutePath());\n      if (!filteredInputFiles.add(jar.getAbsolutePath())) {\n        throw new UploaderException(\"Duplicate jar\" + jar.getAbsolutePath());\n      }\n    }\n    if (!found) {\n      LOG.info(\"Ignored \" + jar.getAbsolutePath() + \" because it is missing \" +\n          \"from the whitelist\");\n    } else if (excluded) {\n      LOG.info(\"Ignored \" + jar.getAbsolutePath() + \" because it is on \" +\n          \"the the blacklist\");\n    }\n  }\n\n  /**\n   * Check if the file is a symlink to the same directory.\n   * @param jar The file to check\n   * @return true, to ignore the directory\n   */\n  @VisibleForTesting\n  boolean checkSymlink(File jar) {","sourceCodeStart":420,"sourceCodeEnd":456,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-uploader/src/main/java/org/apache/hadoop/mapred/uploader/FrameworkUploader.java#L420-L456","documentation":"Error \"Duplicate jar{path}\" thrown in apache/hadoop.","triggerScenarios":"Thrown by FrameworkUploader when the same jar path is listed twice in the input jar set. Remove the duplicate jar from the upload list.","commonSituations":"See trigger scenarios.","solutions":["Remove the duplicate jar from the upload list/classpath so each path appears once.","Deduplicate the -libjars / classpath entries before invoking the uploader."],"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-22T20:17:22.307Z"}