apache/hadoop · error · IllegalArgumentException
Leaf nodes are not on the same level
Error message
Leaf nodes are not on the same level
What it means
Error "Leaf nodes are not on the same level" thrown in apache/hadoop.
Source
Thrown at hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/ZombieCluster.java:105
MachineNode defaultNode) {
Map<LoggedNetworkTopology, Integer> levelMapping =
new IdentityHashMap<LoggedNetworkTopology, Integer>();
Deque<LoggedNetworkTopology> unvisited =
new ArrayDeque<LoggedNetworkTopology>();
unvisited.add(topology);
levelMapping.put(topology, 0);
// building levelMapping and determine leafLevel
int leafLevel = -1; // -1 means leafLevel unknown.
for (LoggedNetworkTopology n = unvisited.poll(); n != null;
n = unvisited.poll()) {
int level = levelMapping.get(n);
List<LoggedNetworkTopology> children = n.getChildren();
if (children == null || children.isEmpty()) {
if (leafLevel == -1) {
leafLevel = level;
} else if (leafLevel != level) {
throw new IllegalArgumentException(
"Leaf nodes are not on the same level");
}
} else {
for (LoggedNetworkTopology child : children) {
levelMapping.put(child, level + 1);
unvisited.addFirst(child);
}
}
}
/**
* A second-pass dfs traverse of topology tree. path[i] contains the parent
* of the node at level i+1.
*/
Node[] path = new Node[leafLevel];
unvisited.add(topology);
for (LoggedNetworkTopology n = unvisited.poll(); n != null;
n = unvisited.poll()) {View on GitHub (pinned to 2add963021)
Solutions
- Check the cluster topology; ZombieCluster requires all leaves at equal depth in the rack/machine tree.
When it happens
Trigger: ZombieCluster is built from a topology whose leaf (machine) nodes sit at different depths, so the cluster tree is malformed.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/276d866cd11a642a.
Report an issue: GitHub.