{"record":{"id":"c7a2b35d536afde1","repo":"apache/hadoop","slug":"pool-found-without-maxrelativeexpiry","errorCode":null,"errorMessage":"<pool> found without <maxRelativeExpiry>","messagePattern":"<pool> found without <maxRelativeExpiry>","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/OfflineImageReconstructor.java","lineNumber":1158,"sourceCode":"          pool.removeChildStr(CACHE_MANAGER_SECTION_GROUP_NAME);\n      if (groupName == null) {\n        throw new IOException(\"<pool> found without <groupName>\");\n      }\n      bld.setGroupName(groupName);\n      Integer mode = pool.removeChildInt(CACHE_MANAGER_SECTION_MODE);\n      if (mode == null) {\n        throw new IOException(\"<pool> found without <mode>\");\n      }\n      bld.setMode(mode);\n      Long limit = pool.removeChildLong(CACHE_MANAGER_SECTION_LIMIT);\n      if (limit == null) {\n        throw new IOException(\"<pool> found without <limit>\");\n      }\n      bld.setLimit(limit);\n      Long maxRelativeExpiry =\n          pool.removeChildLong(CACHE_MANAGER_SECTION_MAX_RELATIVE_EXPIRY);\n      if (maxRelativeExpiry == null) {\n        throw new IOException(\"<pool> found without <maxRelativeExpiry>\");\n      }\n      bld.setMaxRelativeExpiry(maxRelativeExpiry);\n      pool.verifyNoRemainingKeys(\"pool\");\n      bld.build().writeDelimitedTo(out);\n    }\n\n    private void processDirectiveXml(Node directive) throws IOException {\n      CacheDirectiveInfoProto.Builder bld =\n          CacheDirectiveInfoProto.newBuilder();\n      Long id = directive.removeChildLong(SECTION_ID);\n      if (id == null) {\n        throw new IOException(\"<directive> found without <id>\");\n      }\n      bld.setId(id);\n      String path = directive.removeChildStr(SECTION_PATH);\n      if (path == null) {\n        throw new IOException(\"<directive> found without <path>\");\n      }","sourceCodeStart":1140,"sourceCodeEnd":1176,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/OfflineImageReconstructor.java#L1140-L1176","documentation":"Error \"<pool> found without <maxRelativeExpiry>\" thrown in apache/hadoop.","triggerScenarios":"Thrown by oiv -r when a <pool> stanza lacks the mandatory <maxRelativeExpiry> element.","commonSituations":"See trigger scenarios.","solutions":["Add the missing <maxRelativeExpiry> element to the <pool> stanza in the fsimage XML.","Regenerate the fsimage XML with 'hdfs oiv' from a valid fsimage."],"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"}