Yongjun Zhang created HDFS-9351:
-----------------------------------

             Summary: No checkNNStartup() is called when fsck calls 
FSNamesystem.getSnapshottableDirs()
                 Key: HDFS-9351
                 URL: https://issues.apache.org/jira/browse/HDFS-9351
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: HDFS
            Reporter: Yongjun Zhang


I looked further at HDFS-9231 change I reviewed earlier, and realize I missed 
one thing.

The patch changed
{code}
      if (snapshottableDirs != null) {
        SnapshottableDirectoryStatus[] snapshotDirs = namenode.getRpcServer()
            .getSnapshottableDirListing();
        if (snapshotDirs != null) {
          for (SnapshottableDirectoryStatus dir : snapshotDirs) {
            snapshottableDirs.add(dir.getFullPath().toString());
          }
        }
      }
{code}
to
{code}
      if (snapshottableDirs != null) {
        snapshottableDirs = namenode.getNamesystem().getSnapshottableDirs();
      }
{code}

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.

Thanks.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to