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