Name-node should remove edits.new during startup rather than renaming it to 
edits.
----------------------------------------------------------------------------------

                 Key: HADOOP-1978
                 URL: https://issues.apache.org/jira/browse/HADOOP-1978
             Project: Hadoop
          Issue Type: Bug
          Components: dfs
    Affects Versions: 0.13.1
            Reporter: Konstantin Shvachko
            Priority: Blocker
             Fix For: 0.14.2, 0.15.0


Secondary name-node fails in the middle. The main name-node writes its journal 
transactions into edits.new at that time.
If the name-node is shut down after that and restarted, then loadFSImage() 
reads current image file, merges it with the edits
file and with the edits.new file.
Now saveFSImage() saves new image file, creates empty edits file, and then 
calls rollFSImage(), which particularly renames 
edits.new into edits. This is a mistake, during startup edits.new should be 
merely removed after merging it with the image.
The purpose of calling rollFSImage() during startups imho is to recover from an 
unsuccessful checkpoint. So an easy fix
is to empty edits.new before calling rollFSImage the same as edits are emptied, 
then rollFSImage will rename empty file
to empty which gives us the desired result.
We should fix this bug both in 0.14 and 0.15. I make it a blocker for 0.15.

-- 
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