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.