apache/hadoop · error · IOException
No <snapshotCounter> entry found in SnapshotSection header
Error message
No <snapshotCounter> entry found in SnapshotSection header
What it means
Error "No <snapshotCounter> entry found in SnapshotSection header" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/OfflineImageReconstructor.java:1343
bld.build().writeDelimitedTo(out);
}
recordSectionLength(SectionName.FILES_UNDERCONSTRUCTION.name());
}
}
private class SnapshotSectionProcessor implements SectionProcessor {
static final String NAME = "SnapshotSection";
@Override
public void process() throws IOException {
FsImageProto.SnapshotSection.Builder bld =
FsImageProto.SnapshotSection.newBuilder();
Node header = new Node();
loadNodeChildren(header, "SnapshotSection fields", "snapshot");
Integer snapshotCounter = header.removeChildInt(
SNAPSHOT_SECTION_SNAPSHOT_COUNTER);
if (snapshotCounter == null) {
throw new IOException("No <snapshotCounter> entry found in " +
"SnapshotSection header");
}
bld.setSnapshotCounter(snapshotCounter);
Integer expectedNumSnapshots = header.removeChildInt(
SNAPSHOT_SECTION_NUM_SNAPSHOTS);
if (expectedNumSnapshots == null) {
throw new IOException("No <numSnapshots> entry found in " +
"SnapshotSection header");
}
bld.setNumSnapshots(expectedNumSnapshots);
while (true) {
Node sd = header.removeChild(SNAPSHOT_SECTION_SNAPSHOT_TABLE_DIR);
if (sd == null) {
break;
}
Long dir;
while ((dir = sd.removeChildLong(SNAPSHOT_SECTION_DIR)) != null) {
// Add all snapshottable directories, one by oneView on GitHub (pinned to 2add963021)
Solutions
- Add the missing <snapshotCounter> element to the SnapshotSection header 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 SnapshotSection header of the fsimage XML lacks the <snapshotCounter> element.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/9566e9d48ff49c47.
Report an issue: GitHub.