TestEditLog assumes that FSNamesystem.getFSNamesystem().dir is non-null, even 
after the FSNameSystem is closed
--------------------------------------------------------------------------------------------------------------

                 Key: HADOOP-5021
                 URL: https://issues.apache.org/jira/browse/HADOOP-5021
             Project: Hadoop Core
          Issue Type: Bug
          Components: dfs
    Affects Versions: 0.21.0
            Reporter: Steve Loughran


In my modified services, I'm setting {{FSNameSystem.dir}} to {{null}} on 
{{close()}}:
{code}
        if(dir != null) {
         dir.close();
         dir =  null;
        }
{code}

This breaks TestEditLog
{code}
java.lang.NullPointerException
at 
org.apache.hadoop.hdfs.server.namenode.FSEditLog.loadFSEdits(FSEditLog.java:620)
at 
org.apache.hadoop.hdfs.server.namenode.TestEditLog.testEditLog(TestEditLog.java:148)
{code}

There are two possible conclusions here. 
# Setting dir=null in {{FSNameSystem.close()}} is a regression and should be 
fixed
# The test contains some assumptions that are not valid

I will leave it to others to decide; I will try and fix the code whichever 
approach is chosen. Personally, I'd go for setting dir=null as it is cleaner, 
but there is clearly some risk of backward's compatibility problems, at least 
in test code


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to