apache/hadoop · error · IOException
NamespaceInfo not found: Block pool {} should have retrieved
Error message
NamespaceInfo not found: Block pool {} should have retrieved namespace info before initBlockPool. What it means
Error "NamespaceInfo not found: Block pool {} should have retrieved namespace info before initBlockPool." thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java:2188
}
}
/**
* One of the Block Pools has successfully connected to its NN.
* This initializes the local storage for that block pool,
* checks consistency of the NN's cluster ID, etc.
*
* If this is the first block pool to register, this also initializes
* the datanode-scoped storage.
*
* @param bpos Block pool offer service
* @throws IOException if the NN is inconsistent with the local storage.
*/
void initBlockPool(BPOfferService bpos) throws IOException {
NamespaceInfo nsInfo = bpos.getNamespaceInfo();
if (nsInfo == null) {
throw new IOException("NamespaceInfo not found: Block pool " + bpos
+ " should have retrieved namespace info before initBlockPool.");
}
setClusterId(nsInfo.clusterID, nsInfo.getBlockPoolID());
// Register the new block pool with the BP manager.
blockPoolManager.addBlockPool(bpos);
// In the case that this is the first block pool to connect, initialize
// the dataset, block scanners, etc.
initStorage(nsInfo);
try {
data.addBlockPool(nsInfo.getBlockPoolID(), getConf());
} catch (AddBlockPoolException e) {
handleAddBlockPoolError(e);
}
// HDFS-14993: check disk after add the block pool info.View on GitHub (pinned to 2add963021)
Solutions
- Ensure the DataNode successfully registered and handshook with the NameNode for that block pool before initBlockPool; check earlier log lines for handshake failures.
- Verify network connectivity and NameNode availability for the nameservice owning the block pool id.
When it happens
Trigger: initBlockPool is invoked for a block pool whose NamespaceInfo was never retrieved, typically due to a failed or skipped NameNode handshake.
Common situations: initBlockPool ran before namespace info was retrieved, an internal ordering issue typically triggered by a race during block pool registration. Restart the DataNode.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/0a6718a92b5a5e6b.
Report an issue: GitHub.