{"record":{"id":"3733893be88c728d","repo":"apache/hadoop","slug":"solver-timeinterval-is-non-positive-please-try-ag","errorCode":null,"errorMessage":"Solver timeInterval is non-positive, please try again with valid Solver timeInterval","messagePattern":"Solver timeInterval is non-positive, please try again with valid Solver timeInterval","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":74,"sourceCode":"   * @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.\n   * @return the multi-dimension resource vector consumed by the job.\n   */\n  public final long getResourceVector(final RLESparseResourceAllocation skyList,\n      final int index, final long containerMemAlloc) {\n    return skyList.getCapacityAtTime(index).getMemorySize() / containerMemAlloc;\n  }\n","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/solver/preprocess/SolverPreprocessor.java#L56-L92","documentation":"Error \"Solver timeInterval is non-positive, please try again with valid Solver timeInterval\" thrown in apache/hadoop.","triggerScenarios":"The solver timeInterval configured for the resource estimator is zero or negative, so the skyline history cannot be sliced into estimation intervals.","commonSituations":"See trigger scenarios.","solutions":["Set a positive solver timeInterval value in the resource estimator configuration."],"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"}