Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
I looked further at HDFS-9231 change I reviewed earlier, and realize I missed one thing.
The patch changed
if (snapshottableDirs != null) { SnapshottableDirectoryStatus[] snapshotDirs = namenode.getRpcServer() .getSnapshottableDirListing(); if (snapshotDirs != null) { for (SnapshottableDirectoryStatus dir : snapshotDirs) { snapshottableDirs.add(dir.getFullPath().toString()); } } }
to
if (snapshottableDirs != null) { snapshottableDirs = namenode.getNamesystem().getSnapshottableDirs(); }
In old code, namenode.getRpcServer().getSnapshottableDirListing() calls checkNNStartup(), however, this is not done with the new code. This is a hole of the earlier HDFS-9231 patch.
Create this jira to fix the hole. Suggest to revert this portion of the change, and add code to do what we need at NamenodeFsck.
Sorry for missing this in my earlier review of HDFS-9231.
Thanks.
Attachments
Attachments
Issue Links
- is broken by
-
HDFS-9231 fsck doesn't list correct file path when Bad Replicas/Blocks are in a snapshot
- Resolved