[
https://issues.apache.org/jira/browse/STORM-903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14601681#comment-14601681
]
ASF GitHub Bot commented on STORM-903:
--------------------------------------
Github user revans2 commented on the pull request:
https://github.com/apache/storm/pull/600#issuecomment-115355904
@harshach If you are pulling in an external library, like the
KerberosFilter, you are responsible for making sure all of its dependencies are
on the classpath. If we have shaded some of them, then you need to pull them
over and include them. If it is something that a worker does not need access
to, like the KerberosFilter, then you can include it in the extlib-damone
directory where it will not show up on the worker's classpath.
> fix class missing when ui.filter set to
> org.apache.hadoop.security.authentication.server.AuthenticationFilter
> -------------------------------------------------------------------------------------------------------------
>
> Key: STORM-903
> URL: https://issues.apache.org/jira/browse/STORM-903
> Project: Apache Storm
> Issue Type: Bug
> Affects Versions: 0.10.0, 0.11.0
> Reporter: xiajun
>
> When I set
> ui.filter=org.apache.hadoop.security.authentication.server.AuthenticationFilter,
> there are java.lang.NoClassDefFoundError about the ui:
> ```
> org/apache/commons/codec/binary/Base64
> java.lang.NoClassDefFoundError:
> at
> org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.authenticate(KerberosAuthenticationHandler.java:305)
> ~[hadoop-auth-2.4.0.jar:?]
> at
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:357)
> ~[hadoop-auth-2.4.0.jar:?]
> at
> org.apache.storm.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
> ~[storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)
> ~[storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)
> ~[storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
> ~[storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at org.apache.storm.jetty.server.Server.handle(Server.java:369)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.http.HttpParser.parseNext(HttpParser.java:644)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.server.ssl.SslSocketConnector$SslConnectorEndPoint.run(SslSocketConnector.java:670)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at
> org.apache.storm.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> [storm-core-0.11.0-SNAPSHOT.jar:0.11.0-SNAPSHOT]
> at java.lang.Thread.run(Thread.java:662) [?:1.6.0_37]
> Caused by: java.lang.ClassNotFoundException:
> org.apache.commons.codec.binary.Base64
> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> ~[?:1.6.0_37]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[?:1.6.0_37]
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> ~[?:1.6.0_37]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[?:1.6.0_37]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> ~[?:1.6.0_37]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[?:1.6.0_37]
> ... 25 more
> ```
> This is because missing commons-code.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)