[ https://issues.apache.org/jira/browse/HADOOP-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boris Shkolnik updated HADOOP-4579: ----------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) it is fixed as a part of HADOOP-4029 > 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 > Assignee: Boris Shkolnik > Fix For: 0.20.0 > > Attachments: hadoop4579.patch > > > 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.