[ https://issues.apache.org/jira/browse/HADOOP-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645630#action_12645630 ]
Konstantin Shvachko commented on HADOOP-4579: --------------------------------------------- Trunk. But it goes way back. > 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 > 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.