> On June 6, 2016, 4:32 p.m., Dmytro Sen wrote: > > Ship It! > > Dmytro Sen wrote: > Committed to trunk and branch-2.4. > Please close this review board
Thank you so much Dmytro! - Qin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/48262/#review136288 ----------------------------------------------------------- On June 6, 2016, 6:26 a.m., Qin Liu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/48262/ > ----------------------------------------------------------- > > (Updated June 6, 2016, 6:26 a.m.) > > > Review request for Ambari, Aravindan Vijayan, Dmytro Sen, and Sid Wagle. > > > Bugs: AMBARI-16852 > https://issues.apache.org/jira/browse/AMBARI-16852 > > > Repository: ambari > > > Description > ------- > > httpclient-4.0.1.jar used by Ambari Metrics 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 Ambari Metrics service is in distributed mode > and the user configures 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: > 1. install a cluster with default from Ambari Web UI. > 2. configure Ambari Metrics service in distributed mode. > 3. Add the following properties in Custom core-site from Ambari Web UI: > 1). > hadoop.http.authentication.signature.secret.file=/etc/security/http_secret. > 2). > hadoop.http.filter.initializers=org.apache.hadoop.security.AuthenticationFilterInitialize. > 4. create /etc/security/http_secret text file on each node. > 5. restart HDFS, YARN, Mapreduce2, HBase, Kafka, and Ambari Metrics service. > 6. Metrics on dashboard and HDFS, YARN, HBase, Kafka, and Amabari Metrics > will show No Data Available. > > > Diffs > ----- > > ambari-metrics/ambari-metrics-timelineservice/pom.xml 29f7812 > > Diff: https://reviews.apache.org/r/48262/diff/ > > > Testing > ------- > > FIX: > 1. update Ambari Metrics collector pom.xml to use httpclient-4.2.5.jar. > 2. without the fix, the collector lib contains httpclient-4.0.1.jar and > httpcore-4.2.5.jar. > 3. with the fix, the collector lib will have httpclient-4.2.5.jar and > httpcore-4.2.4.jar. > > TESTS: > 1. The Ambari Metrics unit tests. > 2. Also tested with HDP UI - after replacing httpclient-4.0.1.jar and > httpcore-4.2.5.jar with httpclient-4.2.5.jar and httpcore-4.2.4.jar, the > missing metrics show up. > > > Thanks, > > Qin Liu > >