merge MAPREDUCE-3579

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1215534 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Harsh J 2011-12-17 17:36:45 +00:00
parent 8a58fd5440
commit b12d8f3c7c
3 changed files with 49 additions and 2 deletions

View File

@ -282,6 +282,8 @@ Release 0.23.1 - Unreleased
before the job started, so that it works properly with oozie throughout before the job started, so that it works properly with oozie throughout
the job execution. (Robert Joseph Evans via vinodkv) the job execution. (Robert Joseph Evans via vinodkv)
MAPREDUCE-3579. ConverterUtils shouldn't include a port in a path from a url without a port. (atm via harsh)
Release 0.23.0 - 2011-11-01 Release 0.23.0 - 2011-11-01
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -58,8 +58,15 @@ public class ConverterUtils {
*/ */
public static Path getPathFromYarnURL(URL url) throws URISyntaxException { public static Path getPathFromYarnURL(URL url) throws URISyntaxException {
String scheme = url.getScheme() == null ? "" : url.getScheme(); String scheme = url.getScheme() == null ? "" : url.getScheme();
String authority = url.getHost() != null ? url.getHost() + ":" + url.getPort()
: ""; String authority = "";
if (url.getHost() != null) {
authority = url.getHost();
if (url.getPort() > 0) {
authority += ":" + url.getPort();
}
}
return new Path( return new Path(
(new URI(scheme, authority, url.getFile(), null, null)).normalize()); (new URI(scheme, authority, url.getFile(), null, null)).normalize());
} }

View File

@ -0,0 +1,38 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.hadoop.yarn.util;
import static org.junit.Assert.*;
import java.net.URISyntaxException;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.yarn.api.records.URL;
import org.junit.Test;
public class TestConverterUtils {
@Test
public void testConvertUrlWithNoPort() throws URISyntaxException {
Path expectedPath = new Path("hdfs://foo.com");
URL url = ConverterUtils.getYarnUrlFromPath(expectedPath);
Path actualPath = ConverterUtils.getPathFromYarnURL(url);
assertEquals(expectedPath, actualPath);
}
}