{"record":{"id":"fbf220bd09b73076","repo":"apache/hadoop","slug":"trying-to-updatehistory-recurrenceid-with-empty","errorCode":null,"errorMessage":"Trying to updateHistory ${recurrenceId} with empty resource skyline","messagePattern":"Trying to updateHistory (.+?) with empty resource skyline","errorType":"exception","errorClass":"EmptyResourceSkylineException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/skylinestore/impl/InMemoryStore.java","lineNumber":176,"sourceCode":"  @Override public final void updateHistory(final RecurrenceId recurrenceId,\n      final List<ResourceSkyline> resourceSkylines)\n      throws SkylineStoreException {\n    inputValidator.validate(recurrenceId, resourceSkylines);\n    writeLock.lock();\n    try {\n      if (skylineStore.containsKey(recurrenceId)) {\n        // remove the null elements in the resourceSkylines\n        List<ResourceSkyline> filteredInput = eliminateNull(resourceSkylines);\n        if (filteredInput.size() > 0) {\n          skylineStore.put(recurrenceId, filteredInput);\n          LOGGER.info(\"Successfully updateHistory resource skylines for {}.\",\n              recurrenceId);\n        } else {\n          StringBuilder errMsg = new StringBuilder();\n          errMsg.append(\"Trying to updateHistory \" + recurrenceId\n              + \" with empty resource skyline\");\n          LOGGER.error(errMsg.toString());\n          throw new EmptyResourceSkylineException(errMsg.toString());\n        }\n      } else {\n        StringBuilder errMsg = new StringBuilder();\n        errMsg.append(\n            \"Trying to updateHistory non-existing resource skylines for \"\n                + recurrenceId);\n        LOGGER.error(errMsg.toString());\n        throw new RecurrenceIdNotFoundException(errMsg.toString());\n      }\n    } finally {\n      writeLock.unlock();\n    }\n  }\n\n  @Override public final Map<RecurrenceId, List<ResourceSkyline>> getHistory(\n      final RecurrenceId recurrenceId) throws SkylineStoreException {\n    inputValidator.validate(recurrenceId);\n    readLock.lock();","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/skylinestore/impl/InMemoryStore.java#L158-L194","documentation":"Error \"Trying to updateHistory ${recurrenceId} with empty resource skyline\" thrown in apache/hadoop.","triggerScenarios":"updateHistory is called with an empty resource skyline map for a recurring pipeline, which is not a valid update.","commonSituations":"See trigger scenarios.","solutions":["Provide a non-empty ResourceSkyline when calling updateHistory."],"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"}