This is an automated email from the ASF dual-hosted git repository. nju_yaho pushed a commit to tag ebay-3.1.0-release-20200701 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit c5ef6a5ed2f97c1bdb8b1e064613f65f3cb3c830 Author: Wang Ken <mingmw...@ebay.com> AuthorDate: Fri Jun 19 18:14:22 2020 +0800 EBAY-KYLIN-1204 Check and fix Kylin Yarn job tracking url --- .../kylin/engine/mr/common/HadoopCmdOutput.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java index df89ed8..53282cc 100644 --- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java +++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java @@ -47,6 +47,8 @@ public class HadoopCmdOutput { private final StringBuilder output; private final Job job; + private String trackingURL; + public HadoopCmdOutput(Job job, StringBuilder output) { super(); this.job = job; @@ -64,7 +66,22 @@ public class HadoopCmdOutput { status.put(ExecutableConstants.MR_JOB_ID, job.getJobID().toString()); } if (null != job.getTrackingURL()) { - status.put(ExecutableConstants.YARN_APP_URL, job.getTrackingURL().toString()); + String newTrackingURL = job.getTrackingURL(); + logger.info(ExecutableConstants.YARN_APP_URL + ":" + newTrackingURL); + if (trackingURL == null) { + trackingURL = newTrackingURL; + } else if (!newTrackingURL.equals(trackingURL)) { + // fix for the bug that getTrackingURL() return url without http or https header even https is enabled, + // just a workaround, tobe deleted when this issue resolved + if (trackingURL.startsWith("https://") && (!newTrackingURL.startsWith("https://"))) { + trackingURL = "https://" + newTrackingURL; + } else if (trackingURL.startsWith("http://") && (!newTrackingURL.startsWith("http://"))) { + trackingURL = "http://" + newTrackingURL; + } else { + trackingURL = newTrackingURL; + } + } + status.put(ExecutableConstants.YARN_APP_URL, trackingURL); } return status; } else {