[ 
https://issues.apache.org/jira/browse/YARN-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhijie Shen updated YARN-2804:
------------------------------
    Attachment: YARN-2804.2.patch

Thanks for the comments. I've moved the logic to setters, and validated it on 
my local cluster too, and it still suppressed all the exceptions and warning 
logs in .out file. In addition, I added a test case to verify that the changed 
POJO setters/getters are working properly.

> Timeline server .out log have JAXB binding exceptions and warnings.
> -------------------------------------------------------------------
>
>                 Key: YARN-2804
>                 URL: https://issues.apache.org/jira/browse/YARN-2804
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>            Priority: Critical
>         Attachments: YARN-2804.1.patch, YARN-2804.2.patch
>
>
> Unlike other daemon, timeline server binds JacksonJaxbJsonProvider to resolve 
> the resources. However, there are noises in .out log:
> {code}
> SEVERE: Failed to generate the schema for the JAX-B elements
> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of 
> IllegalAnnotationExceptions
> java.util.Map is an interface, and JAXB can't handle interfaces.
>       this problem is related to the following location:
>               at java.util.Map
>               at public java.util.Map 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEvent.getEventInfo()
>               at org.apache.hadoop.yarn.api.records.timeline.TimelineEvent
>               at public java.util.List 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntity.getEvents()
>               at org.apache.hadoop.yarn.api.records.timeline.TimelineEntity
>               at public java.util.List 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntities.getEntities()
>               at org.apache.hadoop.yarn.api.records.timeline.TimelineEntities
> java.util.Map does not have a no-arg default constructor.
>       this problem is related to the following location:
>               at java.util.Map
>               at public java.util.Map 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEvent.getEventInfo()
>               at org.apache.hadoop.yarn.api.records.timeline.TimelineEvent
>               at public java.util.List 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntity.getEvents()
>               at org.apache.hadoop.yarn.api.records.timeline.TimelineEntity
>               at public java.util.List 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntities.getEntities()
>               at org.apache.hadoop.yarn.api.records.timeline.TimelineEntities
>       at 
> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106)
>       at 
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:489)
>       at 
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:319)
>       at 
> com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170)
>       at 
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:606)
>       at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:248)
>       at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:235)
>       at javax.xml.bind.ContextFinder.find(ContextFinder.java:432)
>       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:637)
>       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)
>       at 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator.buildModelAndSchemas(WadlGeneratorJAXBGrammarGenerator.java:412)
>       at 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator.createExternalGrammar(WadlGeneratorJAXBGrammarGenerator.java:352)
>       at com.sun.jersey.server.wadl.WadlBuilder.generate(WadlBuilder.java:115)
>       at 
> com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:104)
>       at 
> com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:120)
>       at 
> com.sun.jersey.server.impl.wadl.WadlMethodFactory$WadlOptionsMethodDispatcher.dispatch(WadlMethodFactory.java:98)
>       at 
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
>       at 
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>       at 
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>       at 
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>       at 
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
>       at 
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
>       at 
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
>       at 
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
>       at 
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:886)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:834)
>       at 
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:795)
>       at 
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
>       at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
>       at 
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
>       at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at 
> org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:96)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:572)
>       at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:269)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:542)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at 
> org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1223)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:767)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:326)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>       at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> {code}
> {code}
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntities
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.server.timeline.webapp.TimelineWebServices$AboutInfo
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntities
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEntity
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineDomain
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineDomains
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineEvents
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class 
> org.apache.hadoop.yarn.api.records.timeline.TimelineDomain
> Oct 31, 2014 11:03:10 PM 
> com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator 
> attachTypes
> INFO: Couldn't find JAX-B element for class javax.ws.rs.core.Response
> {code}
> Though it seems not to harm the normal execution of the timeline server, but 
> it produce quite a lot of logs.



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

Reply via email to