You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Zhijie Shen (JIRA)" <ji...@apache.org> on 2015/02/09 22:40:36 UTC

[jira] [Comment Edited] (YARN-2246) Job History Link in RM UI is redirecting to the URL which contains Job Id twice

    [ https://issues.apache.org/jira/browse/YARN-2246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312927#comment-14312927 ] 

Zhijie Shen edited comment on YARN-2246 at 2/9/15 9:39 PM:
-----------------------------------------------------------

Deverej, thanks for the explanation! It makes sense to me. I've tried the patch, and it seems to work fine for MR case. However, I'm wondering it's a general solution for all applications.

Now in the patch, *res* will still be appended to the tracking url for running. It's correct because MR set the tracking url to {{http(s)://am host:am port}}. The tracking url just has the authority, but no section else afterwards. So when you requesting resource under {{http(s)://proxy host:proxy port/proxy/appId/static/yarn.css}}, it will be translated to {{http(s)://am host:am port/static/yarn.css}}, which is correct. However, if unfortunately your resource is not at the root, but at {{http(s)://am host:am port/base}}, and you use it as the tracking url, your proxy url will become {{http(s)://proxy host:proxy port/proxy/appId/base/static/yarn.css}}, and *toFetch* will be finally translated to {{http(s)://am host:am port/base/base/static/yarn.css}}, which has double "base" and is wrong. This is why the tracking url is wrong for the completed apps, which has been updated to {{http(s)://jhs host:jhs port/jobhistory/job/jobId}}.


IMHO, the proper fix should be that: If the tracking url is {{http(s)://tracking authority/S1/Sk/.../Sk}}, it should be *still* translated to the proxy url {{http(s)://proxy authority/proxy/appId/S1/Sk/.../Sk}}. When the proxy url is translated to the track url, we should not just replace authority, but mapping the whole {{http(s)://proxy authority/proxy/appId/S1/Sk/.../Sk'}} to {{http(s)://tracking authority/S1/Sk/.../Sk'}} when {{k' <= k}}, and to {{http(s)://tracking authority/S1/Sk/.../Sk/Sk+1/Sk+2/.../Sk'}} when {{k' > k}}.




was (Author: zjshen):
Deverej, thanks for the explanation! It makes sense to me. I've tried the patch, and it seems to work fine for MR case. However, I'm wondering it's a general solution for all applications.

Now in the patch, *res* will still be appended to the tracking url for running. It's correct because MR set the tracking url to {{http(s)://am host:am port}}. The tracking url just has the authority, but no section else afterwards. So when you requesting resource under {{http(s)://proxy host:proxy port/proxy/appId/static/yarn.css}}, it will be translated to {{http(s)://am host:am port/static/yarn.css}}, which is correct. However, if unfortunately your resource is not at the root, but at {{http(s)://am host:am port/base}}, and you use it as the tracking url, your proxy url will become {{http(s)://proxy host:proxy port/proxy/appId/base/static/yarn.css}}, and *toFetch* will be finally translated to {{http(s)://am host:am port/base/base/static/yarn.css}}, which is wrong. This is why the tracking url is wrong for the completed apps, which has been updated to {{http(s)://jhs host:jhs port/jobhistory/job/jobId}}.


IMHO, the proper fix should be that: If the tracking url is {{http(s)://tracking authority/S1/Sk/.../Sk}}, it should be *still* translated to the proxy url {{http(s)://proxy authority/proxy/appId/S1/Sk/.../Sk}}. When the proxy url is translated to the track url, we should not just replace authority, but mapping the whole {{http(s)://proxy authority/proxy/appId/S1/Sk/.../Sk'}} to {{http(s)://tracking authority/S1/Sk/.../Sk'}} when {{k' <= k}}, and to {{http(s)://tracking authority/S1/Sk/.../Sk/Sk+1/Sk+2/.../Sk'}} when {{k' > k}}.



> Job History Link in RM UI is redirecting to the URL which contains Job Id twice
> -------------------------------------------------------------------------------
>
>                 Key: YARN-2246
>                 URL: https://issues.apache.org/jira/browse/YARN-2246
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: webapp
>            Reporter: Devaraj K
>            Assignee: Devaraj K
>             Fix For: 2.7.0
>
>         Attachments: MAPREDUCE-4064-1.patch, MAPREDUCE-4064.patch, YARN-2246.patch
>
>
> {code:xml}
> http://xx.x.x.x:19888/jobhistory/job/job_1332435449546_0001/jobhistory/job/job_1332435449546_0001
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)