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

Zhijie Shen commented on YARN-3087:
-----------------------------------

Thanks for the patch, Li! Some detailed comments about the patch:

1. HierarchicalTimelineEntity is abstract, maybe not necessary.
{code}
// required by JAXB
HierarchicalTimelineEntity() {
  super();
}
{code}

2. Can we mark xxxxJAXB methods \@Private?

3. I think rootUnwrapping should be true to be consistent with 
YarnJacksonJaxbJsonProvider. It seems JAXBContextResolver is never used (I 
think the reason is that we are using YarnJacksonJaxbJsonProvider), maybe we 
want to remove the class.
{code}
    this.context =
        new JSONJAXBContext(JSONConfiguration.natural().rootUnwrapping(false)
            .build(), cTypes)
{code}

4. Does it mean if we want to add a filter, we need to hard code here? So 
"hadoop.http.filter.initializers" no longer work? Is it possible to provide 
some similar mechanism to replace what "hadoop.http.filter.initializers" does 
if it doesn't work.
{code}
121           // TODO: replace this by an authentification filter in future.
122           HashMap<String, String> options = new HashMap<String, String>();
123           String username = conf.get(HADOOP_HTTP_STATIC_USER,
124               DEFAULT_HADOOP_HTTP_STATIC_USER);
125           options.put(HADOOP_HTTP_STATIC_USER, username);
126           HttpServer2.defineFilter(timelineRestServer.getWebAppContext(),
127               "static_user_filter_timeline",
128               StaticUserWebFilter.StaticUserFilter.class.getName(),
129               options, new String[] {"/*"});
{code}

> [Aggregator implementation] the REST server (web server) for per-node 
> aggregator does not work if it runs inside node manager
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-3087
>                 URL: https://issues.apache.org/jira/browse/YARN-3087
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Sangjin Lee
>            Assignee: Li Lu
>             Fix For: YARN-2928
>
>         Attachments: YARN-3087-022315.patch, YARN-3087-022515.patch
>
>
> This is related to YARN-3030. YARN-3030 sets up a per-node timeline 
> aggregator and the associated REST server. It runs fine as a standalone 
> process, but does not work if it runs inside the node manager due to possible 
> collisions of servlet mapping.
> Exception:
> {noformat}
> org.apache.hadoop.yarn.webapp.WebAppException: /v2/timeline: controller for 
> v2 not found
>       at org.apache.hadoop.yarn.webapp.Router.resolveDefault(Router.java:232)
>       at org.apache.hadoop.yarn.webapp.Router.resolve(Router.java:140)
>       at org.apache.hadoop.yarn.webapp.Dispatcher.service(Dispatcher.java:134)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
>       at 
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
>       at 
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
>       at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:900)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:834)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:795)
> ...
> {noformat}



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

Reply via email to