Return-Path: X-Original-To: apmail-tez-commits-archive@minotaur.apache.org Delivered-To: apmail-tez-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E2BCA102C6 for ; Wed, 11 Feb 2015 20:22:35 +0000 (UTC) Received: (qmail 19846 invoked by uid 500); 11 Feb 2015 20:22:35 -0000 Delivered-To: apmail-tez-commits-archive@tez.apache.org Received: (qmail 19754 invoked by uid 500); 11 Feb 2015 20:22:35 -0000 Mailing-List: contact commits-help@tez.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tez.apache.org Delivered-To: mailing list commits@tez.apache.org Received: (qmail 19636 invoked by uid 99); 11 Feb 2015 20:22:35 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Feb 2015 20:22:35 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 7CD3CE07EC; Wed, 11 Feb 2015 20:22:35 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hitesh@apache.org To: commits@tez.apache.org Date: Wed, 11 Feb 2015 20:22:37 -0000 Message-Id: <91eeb1c9bed343b4a3747b29c24820f7@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [3/5] tez git commit: TEZ-2065. Setting up tez.tez-ui.history-url.base with a trailing slash can result in failures to redirect correctly. (Prakash Ramachandran via hitesh) TEZ-2065. Setting up tez.tez-ui.history-url.base with a trailing slash can result in failures to redirect correctly. (Prakash Ramachandran via hitesh) (cherry picked from commit 668b94d8e1e59cc46ba1a8e6b45912d0aa5e5107) Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/c1352335 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/c1352335 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/c1352335 Branch: refs/heads/branch-0.6 Commit: c1352335c2df1f9f97697b776b36c354a7f2a6db Parents: 728bcd1 Author: Hitesh Shah Authored: Wed Feb 11 11:57:48 2015 -0800 Committer: Hitesh Shah Committed: Wed Feb 11 12:22:00 2015 -0800 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/tez/dag/app/rm/TaskSchedulerEventHandler.java | 5 ++++- .../tez/dag/app/rm/TestTaskSchedulerEventHandler.java | 11 +++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/c1352335/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index bd6a66f..0d55802 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ Release 0.6.1: Unreleased INCOMPATIBLE CHANGES ALL CHANGES: + TEZ-2065. Setting up tez.tez-ui.history-url.base with a trailing slash can result in failures to redirect correctly. TEZ-2068. Tez UI: Dag view should use full window height, disable webuiservice in localmode. TEZ-2079. Tez UI: trailing slash in timelineBaseUrl in ui should be handled. TEZ-2069. Tez UI: appId should link to application in dag details view. http://git-wip-us.apache.org/repos/asf/tez/blob/c1352335/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java ---------------------------------------------------------------------- diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java index 616690c..4fd655e 100644 --- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java +++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java @@ -600,9 +600,12 @@ public class TaskSchedulerEventHandler extends AbstractService if (loggingClass.equals("org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService") && !historyUrlTemplate.isEmpty() && !historyUrlBase.isEmpty()) { + // replace the placeholders, while tolerating extra or missing "/" in input. replace all + // instances of consecutive "/" with single (except for the http(s):// case historyUrl = historyUrlTemplate .replaceAll(APPLICATION_ID_PLACEHOLDER, appContext.getApplicationID().toString()) - .replaceAll(HISTORY_URL_BASE, historyUrlBase); + .replaceAll(HISTORY_URL_BASE, historyUrlBase + "/") + .replaceAll("([^:])/{2,}", "$1/"); } return historyUrl; http://git-wip-us.apache.org/repos/asf/tez/blob/c1352335/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerEventHandler.java ---------------------------------------------------------------------- diff --git a/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerEventHandler.java b/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerEventHandler.java index 2bb2fcd..1611859 100644 --- a/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerEventHandler.java +++ b/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerEventHandler.java @@ -269,6 +269,17 @@ public class TestTaskSchedulerEventHandler { doReturn(mockApplicationId).when(mockAppContext).getApplicationID(); Assert.assertTrue("http://ui-host:9999/#/tez-app/TEST_APP_ID" .equals(schedulerHandler.getHistoryUrl())); + + // ensure the trailing / in history url is handled + conf.set(TezConfiguration.TEZ_HISTORY_URL_BASE, "http://ui-host:9998/"); + Assert.assertTrue("http://ui-host:9998/#/tez-app/TEST_APP_ID" + .equals(schedulerHandler.getHistoryUrl())); + + // handle bad template ex without begining / + conf.set(TezConfiguration.TEZ_AM_TEZ_UI_HISTORY_URL_TEMPLATE, + "__HISTORY_URL_BASE__#/somepath"); + Assert.assertTrue("http://ui-host:9998/#/somepath" + .equals(schedulerHandler.getHistoryUrl())); } }