Vinod Kumar Vavilapalli commented on YARN-3087:

bq. The current solution is a workaround for JAXB resolver, which cannot return 
an interface (Map) type. This work around is consistent with the v1 version of 
our ATS object model (in 
 such as TimelineEvent.java, TimelineEntity.java), fixed in YARN-2804. If it's 
needed, maybe we'd like to keep the declarations to be Map, and do the cast in 
the jaxb getter?
Casting it everytime will be expensive. Let's keep it as the patch currently 
does - we are not exposing the fact that it is a HashMap to external world, 
only to Jersey.

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

Reply via email to