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

Li Lu commented on YARN-10556:
------------------------------

It has been quite a while and I barely remember my fix was for binding 
conflicts on Yarn WebApps. We used HttpServer2 instead of Yarn WebApp to host 
the web server. After all these years the codebase may have changed quite a 
lot. 

In YARN-3087 the problem is on the conflict between NM and per-node timeline 
collector. Checking the exception here it looks like it's from timeline reader 
server? I remember it's a standalone process and a conflict is less likely (I 
remember the root cause is a static variable). Maybe worth the effort to look 
into the reader server for more info. cc [~varun_saxena]

> Web-app server does not work for Timeline V2
> --------------------------------------------
>
>                 Key: YARN-10556
>                 URL: https://issues.apache.org/jira/browse/YARN-10556
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: timelineserver
>            Reporter: Ahmed Hussein
>            Priority: Major
>
> {{TestDistributedShell}} for timeline version 2.0 shows the following errors 
> in the log files, with the below exception.
> There is a previous YARN-3087 that added a fix to the same issue before. 
> There is a need to investigate whether it is a testing issue or it the error 
> has resurfaced. 
> {code:bash}
>     <pre>org.apache.hadoop.yarn.webapp.WebAppException: 
> /v2/timeline/clusters/yarn_cluster/apps/application_1609346161655_0001: 
> controller for v2 not found
>       at org.apache.hadoop.yarn.webapp.Router.resolveDefault(Router.java:247)
>       at org.apache.hadoop.yarn.webapp.Router.resolve(Router.java:155)
>       at org.apache.hadoop.yarn.webapp.Dispatcher.service(Dispatcher.java:152)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>       at 
> com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)
>       at 
> com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)
>       at 
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)
>       at 
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
>       at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:941)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:875)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:829)
>       at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
>       at 
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
>       at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
>       at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
>       at 
> com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
>       at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.security.http.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:57)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:644)
>       at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:304)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:592)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:110)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1702)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at org.eclipse.jetty.server.Server.handle(Server.java:516)
>       at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
>       at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
>       at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
>       at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
>       at java.lang.Thread.run(Thread.java:748)
> {code}
> {code:bash}
> 2020-12-30 11:36:07,252 WARN  [Listener at localhost/50253] 
> impl.YarnClientImpl (YarnClientImpl.java:getContainerReportFromHistory(990)) 
> - Got an error while fetching container report from ATSv2
> java.io.IOException: Response from the timeline reader server is not 
> successful, HTTP error code: 404, Server response:
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
> "http://www.w3.org/TR/html4/strict.dtd";>
> <html>
>   <meta http-equiv="X-UA-Compatible" content="IE=8">
>   <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
>   <title>
>     Sorry, got error 404
>   </title>
>   <link rel="stylesheet" href="/static/yarn.css">
>   <link rel="stylesheet" 
> href="/static/jquery/themes-1.9.1/base/jquery-ui.css">
>   <link rel="stylesheet" href="/static/dt-1.10.18/css/jquery.dataTables.css">
>   <link rel="stylesheet" href="/static/dt-1.10.18/css/jui-dt.css">
>   <link rel="stylesheet" href="/static/dt-1.10.18/css/custom_datatable.css">
>   <script type="text/javascript" src="/static/jquery/jquery-3.5.1.min.js">
>   </script>
>   <script type="text/javascript" 
> src="/static/jquery/jquery-ui-1.12.1.custom.min.js">
>   </script>
>   <script type="text/javascript" 
> src="/static/dt-1.10.18/js/jquery.dataTables.min.js">
>   </script>
>   <script type="text/javascript" src="/static/yarn.dt.plugins.js">
>   </script>
>   <script type="text/javascript" src="/static/dt-sorting/natural.js">
>   </script>
>   <style type="text/css">
>     #jsnotice { padding: 0.2em; text-align: center; }
>     .ui-progressbar { height: 1em; min-width: 5em }
>   </style>
>   <script type="text/javascript">
>     $(function() {
>       $('#msg').accordion({autoHeight: false});
>     });
>   </script>
>   <style type="text/css">
>     #msg { margin: 1em auto; width: 88%; }
>     #msg h1 { padding: 0.2em 1.5em; font: bold 1.3em serif; }
>   </style>
>   <div id="msg">
>     <h1>
>       Sorry, got error 404
>     </h1>
>     <div>
>       Please consult
>       <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html";>RFC 
> 2616</a>
>        for meanings of the error code.
>     </div>
>     <h1>
>       Error Details
>     </h1>
>     <pre>org.apache.hadoop.yarn.webapp.WebAppException: 
> /v2/timeline/clusters/yarn_cluster/apps/application_1609346161655_0001: 
> controller for v2 not found
>       at org.apache.hadoop.yarn.webapp.Router.resolveDefault(Router.java:247)
>       at org.apache.hadoop.yarn.webapp.Router.resolve(Router.java:155)
>       at org.apache.hadoop.yarn.webapp.Dispatcher.service(Dispatcher.java:152)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>       at 
> com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)
>       at 
> com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)
>       at 
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)
>       at 
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
>       at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:941)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:875)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:829)
>       at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
>       at 
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
>       at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
>       at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
>       at 
> com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
>       at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.security.http.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:57)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:644)
>       at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:304)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:592)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:110)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1702)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
>       at 
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at org.eclipse.jetty.server.Server.handle(Server.java:516)
>       at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
>       at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
>       at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>       at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
>       at java.lang.Thread.run(Thread.java:748)
> </pre>
>   </div>
> </html>
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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