apache/hadoop · error · IOException
At least one valid persistent memory volume is required!
Error message
At least one valid persistent memory volume is required!
What it means
Error "At least one valid persistent memory volume is required!" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/PmemVolumeManager.java:263
maxBytes = realPmemDir.getUsableSpace();
} else {
maxBytes = maxBytesPerPmem;
}
UsedBytesCount usedBytesCount = new UsedBytesCount(maxBytes);
this.usedBytesCounts.add(usedBytesCount);
LOG.info("Added persistent memory - {} with size={}",
volumes[n], maxBytes);
} catch (IllegalArgumentException e) {
LOG.error("Failed to parse persistent memory volume " + volumes[n], e);
continue;
} catch (IOException e) {
LOG.error("Bad persistent memory volume: " + volumes[n], e);
continue;
}
}
count = pmemVolumes.size();
if (count == 0) {
throw new IOException(
"At least one valid persistent memory volume is required!");
}
}
void cleanup(File realPmemDir) {
try {
FileUtils.cleanDirectory(realPmemDir);
} catch (IOException e) {
LOG.error("Failed to clean up " + realPmemDir.getPath(), e);
}
}
void cleanup() {
// Remove all files under the volume.
for (String pmemVolume : pmemVolumes) {
cleanup(new File(pmemVolume));
}
}View on GitHub (pinned to 2add963021)
Solutions
- Verify each path in dfs.datanode.pmem.cache.dirs is a mounted DAX-enabled pmem device and accessible by the DataNode user.
- Fix or remove invalid pmem volume entries so at least one volume initializes successfully, then restart the DataNode.
When it happens
Trigger: PmemVolumeManager initialization when none of the configured persistent memory directories is usable.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/e71a43b4bdc2798c.
Report an issue: GitHub.