Qin Liu created AMBARI-16852:
--------------------------------

             Summary: Update metrics collector pom.xml to use 
httpclient-4.2.5.jar
                 Key: AMBARI-16852
                 URL: https://issues.apache.org/jira/browse/AMBARI-16852
             Project: Ambari
          Issue Type: Bug
          Components: ambari-metrics
    Affects Versions: 2.1.0, 2.2.0
            Reporter: Qin Liu
            Assignee: Qin Liu
             Fix For: trunk


httpclient-4.0.1.jar used by AMS collector does not have method 
URLEncodedUtils.parse (final URI uri, final String encoding). This will cause 
the metrics not to be populated and the collector log to be flooded with the 
following exception when the user sets http authentication filter without 
enabling Kerberos:
 
21:54:08,215 ERROR [1831490216@qtp-1883237069-7582] log:87 - Error for 
/ws/v1/timeline/metrics
java.lang.NoSuchMethodError: 
org.apache.http.client.utils.URLEncodedUtils.parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List;
        at 
org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.getUserName(PseudoAuthenticationHandler.java:143)
        at 
org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.authenticate(PseudoAuthenticationHandler.java:179)
        at 
org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:507)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1224)
        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)

Steps to reproduce:
Add the following properties in Custom core-site from Ambari Web UI:
1. hadoop.http.authentication.signature.secret=test
2. hadoop.http.authentication.signature.secret.file=/etc/security/http_secret
3. 
hadoop.http.filter.initializers=org.apache.hadoop.security.AuthenticationFilterInitializer




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

Reply via email to