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

John Zhuge edited comment on HADOOP-14024 at 6/28/17 10:19 PM:
---------------------------------------------------------------

Fixed after changing this section in JMXJsonServlet.java:
{code:java}
      if (!HttpServer2.isStaticUserAndNoneAuthType(servletContext, request) &&
          !isInstrumentationAccessAllowed(request, response)) {
{code}
to
{code:java}
      if (!isInstrumentationAccessAllowed(request, response)) {
{code}

HADOOP-13707 introduced kms dependency on jetty via calling 
{{HttpServer2.isStaticUserAndNoneAuthType}} in {{JMXJsonServlet.doGet}}.


was (Author: jzhuge):
Fixed after changing this section in JMXJsonServlet.java:
{code:java}
      if (!HttpServer2.isStaticUserAndNoneAuthType(servletContext, request) &&
          !isInstrumentationAccessAllowed(request, response)) {
{code}
to
{code:java}
      if (!isInstrumentationAccessAllowed(request, response)) {
{code}

Somehow HADOOP-13707 introduced the dependency on jetty indirectly via 
hadoop-common's {{HttpServer2.isStaticUserAndNoneAuthType}} but 
hadoop-kms/pom.xml has jetty shaded from hadoop-common.

> KMS JMX endpoint throws ClassNotFoundException
> ----------------------------------------------
>
>                 Key: HADOOP-14024
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14024
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: kms
>    Affects Versions: 2.8.0
>            Reporter: Andrew Wang
>            Assignee: John Zhuge
>            Priority: Critical
>
> Throws like this:
> {noformat}
> </pre></p><p><b>root cause</b> <pre>java.lang.ClassNotFoundException: 
> org.mortbay.jetty.servlet.Context
>       
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1698)
>       
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1544)
>       org.apache.hadoop.jmx.JMXJsonServlet.doGet(JMXJsonServlet.java:174)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
>       
> org.apache.hadoop.crypto.key.kms.server.KMSMDCFilter.doFilter(KMSMDCFilter.java:84)
>       
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:636)
>       
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:304)
>       
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:588)
>       
> org.apache.hadoop.crypto.key.kms.server.KMSAuthenticationFilter.doFilter(KMSAuthenticationFilter.java:129)
> {noformat}
> I tried out branch-2.6 and it seems to be okay, so something changed between 
> 2.6.x and 2.8.x/branch-2



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to