{"record":{"id":"f84e6d22eaeadcf8","repo":"apache/hadoop","slug":"job-resourceskyline-history-is-invalid-please-try","errorCode":null,"errorMessage":"Job ResourceSkyline history is invalid, please try again with valid Job ResourceSkyline history","messagePattern":"Job ResourceSkyline history is invalid, please try again with valid Job ResourceSkyline history","errorType":"exception","errorClass":"InvalidInputException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/solver/preprocess/SolverPreprocessor.java","lineNumber":67,"sourceCode":"  /**\n   * Check if Solver's input parameters are valid.\n   *\n   * @param jobHistory   the history {@link ResourceSkyline}s of the recurring\n   *                     pipeline job.\n   * @param timeInterval the time interval which is used to discretize the\n   *                     history {@link ResourceSkyline}s.\n   * @throws InvalidInputException if: (1) jobHistory is <em>null</em>;\n   *     (2) jobHistory is empty; (3) timeout is non-positive;\n   *     (4) timeInterval is non-positive;\n   */\n  public final void validate(\n      final Map<RecurrenceId, List<ResourceSkyline>> jobHistory,\n      final int timeInterval) throws InvalidInputException {\n    if ((jobHistory == null) || (jobHistory.size() == 0)) {\n      LOGGER.error(\n          \"Job resource skyline history is invalid, please try again with\"\n              + \" valid resource skyline history.\");\n      throw new InvalidInputException(\"Job ResourceSkyline history\", \"invalid\");\n    }\n\n    if (timeInterval <= 0) {\n      LOGGER.error(\n          \"Solver timeInterval {} is invalid, please specify a positive value.\",\n          timeInterval);\n      throw new InvalidInputException(\"Solver timeInterval\", \"non-positive\");\n    }\n  }\n\n  /**\n   * Return the multi-dimension resource vector consumed by the job at specified\n   * time.\n   *\n   * @param skyList           the list of {@link Resource}s used by the job.\n   * @param index             the discretized time index.\n   * @param containerMemAlloc the multi-dimension resource vector allocated to\n   *                          one container.","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/solver/preprocess/SolverPreprocessor.java#L49-L85","documentation":"Error \"Job ResourceSkyline history is invalid, please try again with valid Job ResourceSkyline history\" thrown in apache/hadoop.","triggerScenarios":"The job resource skyline history supplied to the estimator solver is null or empty, so the solver has no data to estimate from.","commonSituations":"See trigger scenarios.","solutions":["Provide a valid job ResourceSkyline history (parsable, non-empty) to the solver preprocessor."],"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"}