HADOOP-9776. HarFileSystem.listStatus() returns invalid authority if port number is empty. Contributed by Shanyu Zhao.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1526109 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Ivan Mitic 2013-09-25 05:17:47 +00:00
parent 929f96ee14
commit 43bb7c8d52
3 changed files with 16 additions and 1 deletions

View File

@ -396,6 +396,9 @@ Release 2.1.2 - UNRELEASED
BUG FIXES
HADOOP-9776. HarFileSystem.listStatus() returns invalid authority if port
number is empty. (Shanyu Zhao via ivanmi)
Release 2.1.1-beta - 2013-09-23
INCOMPATIBLE CHANGES

View File

@ -283,8 +283,9 @@ public Path getWorkingDirectory() {
private String getHarAuth(URI underLyingUri) {
String auth = underLyingUri.getScheme() + "-";
if (underLyingUri.getHost() != null) {
auth += underLyingUri.getHost() + ":";
auth += underLyingUri.getHost();
if (underLyingUri.getPort() != -1) {
auth += ":";
auth += underLyingUri.getPort();
}
}

View File

@ -221,6 +221,17 @@ public void testPositiveInitWithoutUnderlyingFS() throws Exception {
hfs.initialize(uri, new Configuration());
}
@Test
public void testPositiveListFilesNotEndInColon() throws Exception {
// re-initialize the har file system with host name
// make sure the qualified path name does not append ":" at the end of host name
final URI uri = new URI("har://file-localhost" + harPath.toString());
harFileSystem.initialize(uri, conf);
Path p1 = new Path("har://file-localhost" + harPath.toString());
Path p2 = harFileSystem.makeQualified(p1);
assertTrue(p2.toUri().toString().startsWith("har://file-localhost/"));
}
// ========== Negative:
@Test