MAPREDUCE-3579. ConverterUtils shouldn't include a port in a path from a url without a port (Contributed by atm)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1215528 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
89553be90e
commit
2cf4aca02e
@ -331,6 +331,8 @@ Release 0.23.1 - Unreleased
|
||||
before the job started, so that it works properly with oozie throughout
|
||||
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
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -58,8 +58,15 @@ public class ConverterUtils {
|
||||
*/
|
||||
public static Path getPathFromYarnURL(URL url) throws URISyntaxException {
|
||||
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(
|
||||
(new URI(scheme, authority, url.getFile(), null, null)).normalize());
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user