hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eli Collins (JIRA)" <j...@apache.org>
Subject [jira] Created: (HDFS-960) DistributedFileSystem#makeQualified port inconsistency
Date Tue, 09 Feb 2010 16:29:28 GMT
DistributedFileSystem#makeQualified port inconsistency
------------------------------------------------------

                 Key: HDFS-960
                 URL: https://issues.apache.org/jira/browse/HDFS-960
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: hdfs client
    Affects Versions: 0.20.1, 0.20.2, 0.21.0, 0.22.0
            Reporter: Eli Collins


DistributedFileSystem#makeQualified returns paths of form hdfs://host:port/path if the port
of the given path does not match the default NN port, and paths of form hdfs://host/path if
it does. Is this inentional? It breaks programs that assumes DistributedFileSystem#listStatus
paths always have the same form. I think the output of listStatus should not depend on whether
the default port is being used.  Here's the relevant code:

{code}
  /** Normalize paths that explicitly specify the default port. */
  public Path makeQualified(Path path) {
    URI thisUri = this.getUri();
    URI thatUri = path.toUri();
    String thatAuthority = thatUri.getAuthority();
    if (thatUri.getScheme() != null
        && thatUri.getScheme().equalsIgnoreCase(thisUri.getScheme())
        && thatUri.getPort() == NameNode.DEFAULT_PORT
        && thisUri.getPort() == -1
        && thatAuthority.substring(0,thatAuthority.indexOf(":"))
        .equalsIgnoreCase(thisUri.getAuthority())) {
      path = new Path(thisUri.getScheme(), thisUri.getAuthority(),
                      thatUri.getPath());
    }
    return super.makeQualified(path);
  }
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message