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

Vinod Kumar Vavilapalli commented on YARN-4767:
-----------------------------------------------

Apologies [~templedf], I haven't been looking at this.

I also ran into the same issue a couple of months back, but didn't see this 
JIRA.

Just looked at the patch. It took me a little while, but I understood the 
problem and your patch.

The approach overall looks good to me.

I am sure you had to do a bit of testing and bringing that back may be some 
effort, but I got few comments
 - The {{"append-/redirect"}} approach will fail if the AM URIs have query 
parameters.
    -- This is because, on the {{WebAppProxyServlet}} side -> 
{{methodAction()}}, it looks at {{HttpServletRequest.getPathInfo()}} which 
_"returns any extra path information associated with the URL the client sent 
when it made this request. The extra path information follows the servlet path 
*but precedes the query string* and will start with a / character."_.
    -- How about we instead go with a {{String target = redirectUrl + 
"/redirect" + httpReq.getRequestURI();}} approach? Or something like that as a 
prefix..
 - Also if we do that, we won't need (a) redirecting to the app-page (b) the 
internal "R" hack to let the app-pages know (c) changing AppBlock etc? We can 
simply look for paths of the form 
{{"http://RM-proxyAddress/proxy/cluster/application_id/redirect"}} and treat 
them separately by sending them to an error-page?
 - Also inject the 'wrong' proxy-address and add a test-case which proves the 
patch?

Let me know how I can help in push this forward.

Also looking at a 2.8.0 RC0 this weekend / beginning next week - let's see if 
we can get this moving before that?

> Network issues can cause persistent RM UI outage
> ------------------------------------------------
>
>                 Key: YARN-4767
>                 URL: https://issues.apache.org/jira/browse/YARN-4767
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: webapp
>    Affects Versions: 2.7.2
>            Reporter: Daniel Templeton
>            Assignee: Daniel Templeton
>            Priority: Critical
>         Attachments: YARN-4767.001.patch, YARN-4767.002.patch, 
> YARN-4767.003.patch, YARN-4767.004.patch, YARN-4767.005.patch, 
> YARN-4767.006.patch, YARN-4767.007.patch
>
>
> If a network issue causes an AM web app to resolve the RM proxy's address to 
> something other than what's listed in the allowed proxies list, the 
> AmIpFilter will 302 redirect the RM proxy's request back to the RM proxy.  
> The RM proxy will then consume all available handler threads connecting to 
> itself over and over, resulting in an outage of the web UI.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to