StorageDirectory is not removed from the storage directories list when writing 
to an edits fails
------------------------------------------------------------------------------------------------

                 Key: HADOOP-4579
                 URL: https://issues.apache.org/jira/browse/HADOOP-4579
             Project: Hadoop Core
          Issue Type: Bug
          Components: dfs
            Reporter: Boris Shkolnik


If there is an IO Error on any log operations the directory should be removed 
from the list of active storage directories.
when it happens function FSEditLog:processIOError() is called.

in this function:
....
File parentStorageDir = 
((EditLogFileOutputStream)editStreams.get(index)).getFile().getParentFile().getParentFile();
           --  which returns root 
....
fsimage.processIOErrors(parentStorageDir);
...

which calles FSImage:ProcessIOErrors(dir).
but when dir is compared against list of storage dirs getParent is used instead 
of getPath() 
so the match is never found.
....
 if (sd.getRoot().getPath().equals(dirName.getParent())) {                      
 - should be dirName.getPath()
.....


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