You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@falcon.apache.org by "Venkat Ranganathan (JIRA)" <ji...@apache.org> on 2016/06/24 22:56:16 UTC

[jira] [Commented] (FALCON-2050) Configure jetty parent classloader to be prioritized over webapp classloader

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

Venkat Ranganathan commented on FALCON-2050:
--------------------------------------------

[~bvellanki]   I did not set a fix version but if you think this should be in 0.10 please set fixVersion to 0.10

> Configure jetty parent classloader to be prioritized over webapp classloader
> ----------------------------------------------------------------------------
>
>                 Key: FALCON-2050
>                 URL: https://issues.apache.org/jira/browse/FALCON-2050
>             Project: Falcon
>          Issue Type: Bug
>          Components: common
>    Affects Versions: 0.10
>            Reporter: Venkat Ranganathan
>            Assignee: Venkat Ranganathan
>         Attachments: FALCON-2050.patch
>
>
> FALCON-1942 allowed external libraries to be configured so that libraries like Atlas hook can be configured (which the Atlas code itself was part of the Atlas client installation).   Unfortunately, the FACLON_EXTRA_CLASSPATH only is available in the parent classloader and not via the webapp classloader causing stack trace like below to be thrown
> To fix this, we need to enable the parent classloader to have priority over the webapp classloader.   When a class or resource is resolved, the parent classloader will be used and  then the child classloader.
> Since all falcon jars are also in the parent path this should fix the issue with Atlas hook and similar scnearios.
> {quote}
> 2016-06-24 14:50:47,022 ERROR - [main:] ~ Failed startup of context org.mortbay.jetty.webapp.WebAppContext@46e481d6{/,/usr/hdp/current/falcon-server/server/webapp/falcon} (log:87)
> java.lang.ClassCastException: org.apache.falcon.atlas.service.AtlasService cannot be cast to org.apache.falcon.service.FalconService
> 	at org.apache.falcon.service.ServiceInitializer.initialize(ServiceInitializer.java:43)
> 	at org.apache.falcon.listener.ContextStartupListener.contextInitialized(ContextStartupListener.java:56)
> 	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:550)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> 	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> 	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:519)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> 	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> 	at org.mortbay.jetty.Server.doStart(Server.java:224)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> 	at org.apache.falcon.util.EmbeddedServer.start(EmbeddedServer.java:57)
> 	at org.apache.falcon.FalconServer.main(FalconServer.java:118)
> {quote}



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