{"record":{"id":"743814062eda519a","repo":"apache/hadoop","slug":"job-is-null","errorCode":null,"errorMessage":"job is null","messagePattern":"job is null","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/ZombieJob.java","lineNumber":87,"sourceCode":"  double rackLocalOverNodeLocal = 1.5;\n  double rackRemoteOverNodeLocal = 3.0;\n\n  /**\n   * This constructor creates a {@link ZombieJob} with the same semantics as the\n   * {@link LoggedJob} passed in this parameter\n   * \n   * @param job\n   *          The dead job this ZombieJob instance is based on.\n   * @param cluster\n   *          The cluster topology where the dead job ran on. This argument can\n   *          be null if we do not have knowledge of the cluster topology.\n   * @param seed\n   *          Seed for the random number generator for filling in information\n   *          not available from the ZombieJob.\n   */\n  public ZombieJob(LoggedJob job, ClusterStory cluster, long seed) {\n    if (job == null) {\n      throw new IllegalArgumentException(\"job is null\");\n    }\n    this.job = job;\n    this.cluster = cluster;\n    random = new Random(seed);\n    this.seed = seed;\n    hasRandomSeed = true;\n  }\n\n  /**\n   * This constructor creates a {@link ZombieJob} with the same semantics as the\n   * {@link LoggedJob} passed in this parameter\n   * \n   * @param job\n   *          The dead job this ZombieJob instance is based on.\n   * @param cluster\n   *          The cluster topology where the dead job ran on. This argument can\n   *          be null if we do not have knowledge of the cluster topology.\n   */","sourceCodeStart":69,"sourceCodeEnd":105,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/ZombieJob.java#L69-L105","documentation":"Error \"job is null\" thrown in apache/hadoop.","triggerScenarios":"ZombieJob is constructed with a null ParsedJob, so there is no job story to simulate.","commonSituations":"See trigger scenarios.","solutions":["Construct ZombieJob with a non-null ParsedJob; the job argument was null."],"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"}