Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-4579

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.20.0
    • None
    • None

    Description

      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()
      .....

      Attachments

        1. hadoop4579.patch
          0.6 kB
          Boris Shkolnik

        Activity

          People

            boryas Boris Shkolnik
            boryas Boris Shkolnik
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: