[
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)