hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Wang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-5458) Datanode failed volume threshold ignored if exception is thrown in getDataDirsFromURIs
Date Mon, 04 Nov 2013 23:34:17 GMT
Andrew Wang created HDFS-5458:
---------------------------------

             Summary: Datanode failed volume threshold ignored if exception is thrown in getDataDirsFromURIs
                 Key: HDFS-5458
                 URL: https://issues.apache.org/jira/browse/HDFS-5458
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 3.0.0
            Reporter: Andrew Wang
            Assignee: Andrew Wang


Saw a stacktrace of datanode startup with a bad volume, where even listing directories would
throw an IOException. The failed volume threshold was set to 1, but it would fatally error
out in {{File#getCanonicalPath}} in {{getDataDirsFromURIs}}:

{code}
      File dir = new File(dirURI.getPath());
      try {
        dataNodeDiskChecker.checkDir(localFS, new Path(dir.toURI()));
        dirs.add(dir);
      } catch (IOException ioe) {
        LOG.warn("Invalid " + DFS_DATANODE_DATA_DIR_KEY + " "
            + dir + " : ", ioe);
        invalidDirs.append("\"").append(dir.getCanonicalPath()).append("\" ");
      }
{code}

Since {{getCanonicalPath}} can need to do I/O and thus throw an IOException, this catch clause
doesn't properly protect startup from a failed volume.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message