vaibhav beriwala created KNOX-1023:
--------------------------------------
Summary: nodemanager log links for a running job not working
through YARNUI
Key: KNOX-1023
URL: https://issues.apache.org/jira/browse/KNOX-1023
Project: Apache Knox
Issue Type: Bug
Components: KnoxCLI
Affects Versions: 0.12.0, 0.13.0, 0.14.0
Reporter: vaibhav beriwala
Fix For: 0.13.0
When nodemanager links are accessed through YARNUI service, it requires the
host and port to be appended in the URI , something like:
{quote}https://host:8443/gateway/sandbox/yarn/nodemanager/node/containerlogs/container_e02_1498543212255_0001_01_000001/user?host=nm-host&port=8042{quote}
When I'm coming from the RM page, this link is rendered as an absolute one, so
the rewrite rule works fine and appends the host and port. However, when I'm on
the NM page itself, the URLs are not absolute(the URL's on NM page are
relative), so a different rewrite rule applies:
{quote}DEBUG hadoop.gateway (UrlRewriteProcessor.java:rewrite(164)) - Rewrote
URL: /node/containerlogs/container_e01_1498485266952_0006_01_000001/hiyer
qa3july/stderr/?start=-4096, direction: OUT via implicit rule:
YARNUI/yarn/outbound/node to URL:
https://host:8443/gateway/sandbox/yarn/node/containerlogs/container_e01_1498485266952_0006_01_000001/user/stderr{quote}
As you can see, this link does not contain the host in the query string, so it
does not work. This affects log links for running tasks, and links for the
nodemanager itself.
One possible solution I could think of is appending the query string of the
*current* page to the link, but I couldn't see how to do that in a rewrite rule.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)