apache/hadoop · error · IOException
CacheManager section had no <numDirectives>
Error message
CacheManager section had no <numDirectives>
What it means
Error "CacheManager section had no <numDirectives>" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/OfflineImageReconstructor.java:1091
Node node = new Node();
loadNodeChildren(node, "CacheManager fields", "pool", "directive");
CacheManagerSection.Builder b = CacheManagerSection.newBuilder();
Long nextDirectiveId =
node.removeChildLong(CACHE_MANAGER_SECTION_NEXT_DIRECTIVE_ID);
if (nextDirectiveId == null) {
throw new IOException("CacheManager section had no <nextDirectiveId>");
}
b.setNextDirectiveId(nextDirectiveId);
Integer expectedNumPools =
node.removeChildInt(CACHE_MANAGER_SECTION_NUM_POOLS);
if (expectedNumPools == null) {
throw new IOException("CacheManager section had no <numPools>");
}
b.setNumPools(expectedNumPools);
Integer expectedNumDirectives =
node.removeChildInt(CACHE_MANAGER_SECTION_NUM_DIRECTIVES);
if (expectedNumDirectives == null) {
throw new IOException("CacheManager section had no <numDirectives>");
}
b.setNumDirectives(expectedNumDirectives);
b.build().writeDelimitedTo(out);
long actualNumPools = 0;
while (actualNumPools < expectedNumPools) {
try {
expectTag(CACHE_MANAGER_SECTION_POOL, false);
} catch (IOException e) {
throw new IOException("Only read " + actualNumPools +
" cache pools out of " + expectedNumPools, e);
}
actualNumPools++;
Node pool = new Node();
loadNodeChildren(pool, "pool fields", "");
processPoolXml(node);
}
long actualNumDirectives = 0;
while (actualNumDirectives < expectedNumDirectives) {View on GitHub (pinned to 2add963021)
Solutions
- Add the missing <numDirectives> element to the CacheManager section of the fsimage XML.
- Regenerate the fsimage XML with 'hdfs oiv' from a valid fsimage.
When it happens
Trigger: Thrown by oiv -r when the CacheManager section header lacks the <numDirectives> element.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/be340dfbdcac58c3.
Report an issue: GitHub.