Repository: hadoop Updated Branches: refs/heads/branch-2 a77fb561e -> 756a06814
MAPREDUCE-6910. MapReduceTrackingUriPlugin can not return the right URI of history server with HTTPS. Contributed by Lantao Jin (cherry picked from commit 43f0503286eccbc6bb8ae77584b635bfd0c48e50) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/756a0681 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/756a0681 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/756a0681 Branch: refs/heads/branch-2 Commit: 756a06814355465c85b9d66f262ee875dd86dbb7 Parents: a77fb56 Author: Ravi Prakash <ravip...@altiscale.com> Authored: Thu Jul 13 16:16:45 2017 -0700 Committer: Ravi Prakash <ravip...@altiscale.com> Committed: Thu Jul 13 16:19:52 2017 -0700 ---------------------------------------------------------------------- .../hadoop/mapreduce/v2/util/MRWebAppUtil.java | 9 ++++--- .../webapp/TestMapReduceTrackingUriPlugin.java | 26 ++++++++++++++++++-- 2 files changed, 29 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/756a0681/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRWebAppUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRWebAppUtil.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRWebAppUtil.java index d367060..951c9d5 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRWebAppUtil.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRWebAppUtil.java @@ -29,7 +29,6 @@ import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig; import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.conf.YarnConfiguration; -import org.apache.hadoop.yarn.ipc.RPCUtil; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -76,7 +75,9 @@ public class MRWebAppUtil { : "http://"; } - public static String getJHSWebappScheme() { + public static String getJHSWebappScheme(Configuration conf) { + setHttpPolicyInJHS(conf.get(JHAdminConfig.MR_HS_HTTP_POLICY, + JHAdminConfig.DEFAULT_MR_HS_HTTP_POLICY)); return httpPolicyInJHS == HttpConfig.Policy.HTTPS_ONLY ? "https://" : "http://"; } @@ -101,7 +102,7 @@ public class MRWebAppUtil { } public static String getJHSWebappURLWithScheme(Configuration conf) { - return getJHSWebappScheme() + getJHSWebappURLWithoutScheme(conf); + return getJHSWebappScheme(conf) + getJHSWebappURLWithoutScheme(conf); } public static InetSocketAddress getJHSWebBindAddress(Configuration conf) { @@ -153,7 +154,7 @@ public class MRWebAppUtil { public static String getApplicationWebURLOnJHSWithScheme(Configuration conf, ApplicationId appId) throws UnknownHostException { - return getJHSWebappScheme() + return getJHSWebappScheme(conf) + getApplicationWebURLOnJHSWithoutScheme(conf, appId); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/756a0681/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs-plugins/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestMapReduceTrackingUriPlugin.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs-plugins/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestMapReduceTrackingUriPlugin.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs-plugins/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestMapReduceTrackingUriPlugin.java index 8c3be58..9291097 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs-plugins/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestMapReduceTrackingUriPlugin.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs-plugins/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestMapReduceTrackingUriPlugin.java @@ -23,6 +23,7 @@ import static org.junit.Assert.assertEquals; import java.net.URI; import java.net.URISyntaxException; +import org.apache.hadoop.http.HttpConfig; import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.conf.YarnConfiguration; @@ -30,17 +31,38 @@ import org.junit.Test; public class TestMapReduceTrackingUriPlugin { @Test - public void testProducesHistoryServerUriForAppId() throws URISyntaxException { + public void testProducesHistoryServerUriForAppId() + throws URISyntaxException { final String historyAddress = "example.net:424242"; YarnConfiguration conf = new YarnConfiguration(); + conf.set(JHAdminConfig.MR_HS_HTTP_POLICY, + HttpConfig.Policy.HTTP_ONLY.name()); conf.set(JHAdminConfig.MR_HISTORY_WEBAPP_ADDRESS, historyAddress); MapReduceTrackingUriPlugin plugin = new MapReduceTrackingUriPlugin(); plugin.setConf(conf); - ApplicationId id = ApplicationId.newInstance(6384623l, 5); + ApplicationId id = ApplicationId.newInstance(6384623L, 5); String jobSuffix = id.toString().replaceFirst("^application_", "job_"); URI expected = new URI("http://" + historyAddress + "/jobhistory/job/" + jobSuffix); URI actual = plugin.getTrackingUri(id); assertEquals(expected, actual); } + + @Test + public void testProducesHistoryServerUriWithHTTPS() + throws URISyntaxException { + final String historyAddress = "example.net:404040"; + YarnConfiguration conf = new YarnConfiguration(); + conf.set(JHAdminConfig.MR_HS_HTTP_POLICY, + HttpConfig.Policy.HTTPS_ONLY.name()); + conf.set(JHAdminConfig.MR_HISTORY_WEBAPP_HTTPS_ADDRESS, historyAddress); + MapReduceTrackingUriPlugin plugin = new MapReduceTrackingUriPlugin(); + plugin.setConf(conf); + ApplicationId id = ApplicationId.newInstance(6384623L, 5); + String jobSuffix = id.toString().replaceFirst("^application_", "job_"); + URI expected = + new URI("https://" + historyAddress + "/jobhistory/job/" + jobSuffix); + URI actual = plugin.getTrackingUri(id); + assertEquals(expected, actual); + } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org