Selaa lähdekoodia

Revert "AMBARI-9511. Remove hadoop-common*.jar dep form sinks. (mpapyrkovskyy)"

This reverts commit d7b816f297043d8eadb0a505ea226ede5643a509.
Yusaku Sako 10 vuotta sitten
vanhempi
commit
a3af9fbf60
20 muutettua tiedostoa jossa 79 lisäystä ja 240 poistoa
  1. 3 13
      ambari-metrics/ambari-metrics-common/pom.xml
  2. 0 3
      ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java
  3. 4 6
      ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java
  4. 4 5
      ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetrics.java
  5. 5 4
      ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCache.java
  6. 3 3
      ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/configuration/Configuration.java
  7. 0 111
      ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/util/Servers.java
  8. 5 4
      ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCacheTest.java
  9. 0 5
      ambari-metrics/ambari-metrics-flume-sink/pom.xml
  10. 6 6
      ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
  11. 5 7
      ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java
  12. 0 5
      ambari-metrics/ambari-metrics-hadoop-sink/pom.xml
  13. 7 20
      ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
  14. 25 16
      ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java
  15. 1 11
      ambari-metrics/ambari-metrics-kafka-sink/pom.xml
  16. 1 1
      ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
  17. 0 5
      ambari-metrics/ambari-metrics-storm-sink/pom.xml
  18. 2 1
      ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
  19. 1 1
      ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
  20. 7 13
      ambari-metrics/ambari-metrics-storm-sink/src/test/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSinkTest.java

+ 3 - 13
ambari-metrics/ambari-metrics-common/pom.xml

@@ -62,25 +62,15 @@
       <artifactId>commons-logging</artifactId>
       <version>1.1.1</version>
     </dependency>
-    <dependency>
-      <groupId>commons-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-      <version>3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-xc</artifactId>
-      <version>1.9.13</version>
-    </dependency>
     <dependency>
       <groupId>org.apache.hadoop</groupId>
-      <artifactId>hadoop-annotations</artifactId>
-      <version>2.6.0</version>
+      <artifactId>hadoop-common</artifactId>
+      <version>2.4.0</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.jackson</groupId>
       <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.13</version>
+      <version>1.8.0</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>

+ 0 - 3
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java

@@ -21,9 +21,6 @@ import java.io.IOException;
 import java.net.ConnectException;
 import java.net.SocketAddress;
 
-import java.io.IOException;
-import java.net.SocketAddress;
-
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.commons.httpclient.methods.StringRequestEntity;

+ 4 - 6
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java

@@ -17,16 +17,14 @@
  */
 package org.apache.hadoop.metrics2.sink.timeline;
 
-import java.util.Map;
-import java.util.TreeMap;
-
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
+import java.util.Map;
+import java.util.TreeMap;
 
 @XmlRootElement(name = "metric")
 @XmlAccessorType(XmlAccessType.NONE)

+ 4 - 5
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetrics.java

@@ -17,16 +17,15 @@
  */
 package org.apache.hadoop.metrics2.sink.timeline;
 
-import java.util.ArrayList;
-import java.util.List;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * The class that hosts a list of timeline entities.

+ 5 - 4
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCache.java

@@ -17,10 +17,12 @@
  */
 package org.apache.hadoop.metrics2.sink.timeline.cache;
 
+import com.google.common.base.Optional;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.metrics2.MetricType;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 
 import java.util.HashMap;
@@ -158,8 +160,7 @@ public class TimelineMetricsCache {
     String metricName = timelineMetric.getMetricName();
     double firstValue = timelineMetric.getMetricValues().size() > 0
         ? timelineMetric.getMetricValues().entrySet().iterator().next().getValue() : 0;
-    Double value = counterMetricLastValue.get(metricName);
-    double previousValue = value != null ? value : firstValue;
+    double previousValue = Optional.fromNullable(counterMetricLastValue.get(metricName)).or(firstValue);
     Map<Long, Double> metricValues = timelineMetric.getMetricValues();
     Map<Long, Double>   newMetricValues = new TreeMap<Long, Double>();
     for (Map.Entry<Long, Double> entry : metricValues.entrySet()) {
@@ -170,8 +171,8 @@ public class TimelineMetricsCache {
     counterMetricLastValue.put(metricName, previousValue);
   }
 
-  public void putTimelineMetric(TimelineMetric timelineMetric, boolean isCounter) {
-    if (isCounter) {
+  public void putTimelineMetric(TimelineMetric timelineMetric, MetricType type) {
+    if (type == MetricType.COUNTER) {
       transformMetricValuesToDerivative(timelineMetric);
     }
     putTimelineMetric(timelineMetric);

+ 3 - 3
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/configuration/Configuration.java

@@ -18,14 +18,14 @@
 
 package org.apache.hadoop.metrics2.sink.timeline.configuration;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
 public class Configuration {
   public final Log LOG = LogFactory.getLog(this.getClass());
   private final Properties properties;

+ 0 - 111
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/util/Servers.java

@@ -1,111 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.metrics2.sink.util;
-
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.URI;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-
-/**
- * Helpers to handle server addresses
- */
-@InterfaceAudience.Public
-@InterfaceStability.Evolving
-public class Servers {
-  /**
-   * This class is not intended to be instantiated
-   */
-  private Servers() {}
-
-  /**
-   * Parses a space and/or comma separated sequence of server specifications
-   * of the form <i>hostname</i> or <i>hostname:port</i>.  If
-   * the specs string is null, defaults to localhost:defaultPort.
-   *
-   * @param specs   server specs (see description)
-   * @param defaultPort the default port if not specified
-   * @return a list of InetSocketAddress objects.
-   */
-  public static List<InetSocketAddress> parse(String specs, int defaultPort) {
-    List<InetSocketAddress> result = new ArrayList<InetSocketAddress>();
-    if (specs == null) {
-      result.add(new InetSocketAddress("localhost", defaultPort));
-    } else {
-      String[] specStrings = specs.split("[ ,]+");
-      for (String specString : specStrings) {
-        result.add(createSocketAddr(specString, defaultPort));
-      }
-    }
-    return result;
-  }
-
-  /**
-   * @param host
-   * @param port
-   * @return a InetSocketAddress created with the specified host and port
-   */
-  private static InetSocketAddress createSocketAddr(String target, int defaultPort) {
-    String helpText = "";
-    if (target == null) {
-      throw new IllegalArgumentException("Target address cannot be null." + helpText);
-    }
-    boolean hasScheme = target.contains("://");
-    URI uri = null;
-    try {
-      uri = hasScheme ? URI.create(target) : URI.create("dummyscheme://" + target);
-    } catch (IllegalArgumentException e) {
-      throw new IllegalArgumentException("Does not contain a valid host:port authority: " + target + helpText);
-    }
-
-    String host = uri.getHost();
-    int port = uri.getPort();
-    if (port == -1) {
-      port = defaultPort;
-    }
-    String path = uri.getPath();
-
-    if ((host == null) || (port < 0) || (!hasScheme && path != null && !path.isEmpty())) {
-      throw new IllegalArgumentException("Does not contain a valid host:port authority: " + target + helpText);
-    }
-    return createSocketAddrForHost(host, port);
-  }
-
-  /**
-   * @param host
-   * @param port
-   * @return a InetSocketAddress created with the specified host and port
-   */
-  private static InetSocketAddress createSocketAddrForHost(String host, int port) {
-    InetSocketAddress addr;
-    try {
-      InetAddress iaddr = InetAddress.getByName(host);
-      iaddr = InetAddress.getByAddress(host, iaddr.getAddress());
-      addr = new InetSocketAddress(iaddr, port);
-    } catch (UnknownHostException e) {
-      addr = InetSocketAddress.createUnresolved(host, port);
-    }
-    return addr;
-  }
-
-}

+ 5 - 4
ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCacheTest.java

@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.metrics2.sink.timeline.cache;
 
+import org.apache.hadoop.metrics2.MetricType;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import org.junit.Test;
 
@@ -40,13 +41,13 @@ public class TimelineMetricsCacheTest {
     TimelineMetric metric = createTimelineMetric(new TreeMap<Long, Double>() {{
       put(1L, 10.0);
     }}, DEFAULT_START_TIME);
-    timelineMetricsCache.putTimelineMetric(metric, true);
+    timelineMetricsCache.putTimelineMetric(metric, MetricType.COUNTER);
     metric = createTimelineMetric(new TreeMap<Long, Double>() {{
       put(2L, 10.0);
       put(3L, 20.0);
       put(4L, 30.0);
     }}, DEFAULT_START_TIME + 2 * TimelineMetricsCache.MAX_EVICTION_TIME_MILLIS);
-    timelineMetricsCache.putTimelineMetric(metric, true);
+    timelineMetricsCache.putTimelineMetric(metric, MetricType.COUNTER);
     TimelineMetric cachedMetric
         = timelineMetricsCache.getTimelineMetric(METRIC_NAME);
     assertEquals(0, cachedMetric.getMetricValues().get(1L), delta);
@@ -59,12 +60,12 @@ public class TimelineMetricsCacheTest {
       put(6L, 120.0);
       put(7L, 230.0);
     }}, DEFAULT_START_TIME + 3 * TimelineMetricsCache.MAX_EVICTION_TIME_MILLIS);
-    timelineMetricsCache.putTimelineMetric(metric, true);
+    timelineMetricsCache.putTimelineMetric(metric, MetricType.COUNTER);
     metric = createTimelineMetric(new TreeMap<Long, Double>() {{
       put(8L, 300.0);
     }}, DEFAULT_START_TIME + 5 * TimelineMetricsCache.MAX_EVICTION_TIME_MILLIS);
 
-    timelineMetricsCache.putTimelineMetric(metric, true);
+    timelineMetricsCache.putTimelineMetric(metric, MetricType.COUNTER);
     cachedMetric = timelineMetricsCache.getTimelineMetric(METRIC_NAME);
     assertEquals(70, cachedMetric.getMetricValues().get(5L), delta);
     assertEquals(20, cachedMetric.getMetricValues().get(6L), delta);

+ 0 - 5
ambari-metrics/ambari-metrics-flume-sink/pom.xml

@@ -108,11 +108,6 @@ limitations under the License.
       <artifactId>ambari-metrics-common</artifactId>
       <version>${project.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.13</version>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>

+ 6 - 6
ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java

@@ -24,13 +24,14 @@ import org.apache.flume.Context;
 import org.apache.flume.FlumeException;
 import org.apache.flume.instrumentation.MonitorService;
 import org.apache.flume.instrumentation.util.JMXPollUtil;
+import org.apache.hadoop.metrics2.MetricType;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
 import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
 import org.apache.hadoop.metrics2.sink.timeline.UnableToConnectException;
 import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
 import org.apache.hadoop.metrics2.sink.timeline.configuration.Configuration;
-import org.apache.hadoop.metrics2.sink.util.Servers;
+import org.apache.hadoop.metrics2.util.Servers;
 
 import java.io.IOException;
 import java.net.InetAddress;
@@ -47,8 +48,6 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
-
-
 public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implements MonitorService {
   private SocketAddress socketAddress;
   private String collectorUri;
@@ -159,7 +158,7 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
           TimelineMetric timelineMetric = createTimelineMetric(currentTimeMillis,
               component, attributeName, attributeValue);
           // Put intermediate values into the cache until it is time to send
-          metricsCache.putTimelineMetric(timelineMetric, isCounterMetric(attributeName));
+          metricsCache.putTimelineMetric(timelineMetric, getMetricType(attributeName));
 
           TimelineMetric cachedMetric = metricsCache.getTimelineMetric(attributeName);
 
@@ -190,7 +189,8 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
     }
   }
 
-  private boolean isCounterMetric(String attributeName) {
-    return counterMetrics.contains(attributeName);
+  private MetricType getMetricType(String attributeName) {
+    return counterMetrics.contains(attributeName) ?
+      MetricType.COUNTER : MetricType.GAUGE;
   }
 }

+ 5 - 7
ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java

@@ -18,12 +18,6 @@
 
 package org.apache.hadoop.metrics2.sink.flume;
 
-import static org.powermock.api.easymock.PowerMock.mockStatic;
-import static org.powermock.api.easymock.PowerMock.replay;
-import static org.powermock.api.easymock.PowerMock.verifyAll;
-
-import java.util.Collections;
-
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.flume.instrumentation.util.JMXPollUtil;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
@@ -33,6 +27,10 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
+import java.util.Collections;
+import static org.powermock.api.easymock.PowerMock.mockStatic;
+import static org.powermock.api.easymock.PowerMock.replay;
+import static org.powermock.api.easymock.PowerMock.verifyAll;
 
 @RunWith(PowerMockRunner.class)
 @PrepareForTest(JMXPollUtil.class)
@@ -104,4 +102,4 @@ public class FlumeTimelineMetricsSinkTest {
     collector.run();
     verifyAll();
   }
-}
+}

+ 0 - 5
ambari-metrics/ambari-metrics-hadoop-sink/pom.xml

@@ -158,11 +158,6 @@ limitations under the License.
       <version>1.6</version>
       <scope>compile</scope>
     </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.13</version>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>

+ 7 - 20
ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java

@@ -17,33 +17,21 @@
  */
 package org.apache.hadoop.metrics2.sink.timeline;
 
-import java.io.IOException;
-import java.net.SocketAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.commons.configuration.SubsetConfiguration;
 import org.apache.commons.lang.ClassUtils;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.metrics2.AbstractMetric;
-import org.apache.hadoop.metrics2.MetricsException;
-import org.apache.hadoop.metrics2.MetricsRecord;
-import org.apache.hadoop.metrics2.MetricsSink;
-import org.apache.hadoop.metrics2.MetricsTag;
-import org.apache.hadoop.metrics2.MetricType;
+import org.apache.hadoop.metrics2.*;
 import org.apache.hadoop.metrics2.impl.MsInfo;
 import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
 import org.apache.hadoop.metrics2.util.Servers;
 import org.apache.hadoop.net.DNS;
 
+import java.io.IOException;
+import java.net.SocketAddress;
+import java.net.UnknownHostException;
+import java.util.*;
+
 @InterfaceAudience.Public
 @InterfaceStability.Evolving
 public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink implements MetricsSink {
@@ -176,8 +164,7 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
         timelineMetric.setType(ClassUtils.getShortCanonicalName(value, "Number"));
         timelineMetric.getMetricValues().put(startTime, value.doubleValue());
         // Put intermediate values into the cache until it is time to send
-        boolean isCounter = MetricType.COUNTER == metric.type();
-        metricsCache.putTimelineMetric(timelineMetric, isCounter);
+        metricsCache.putTimelineMetric(timelineMetric, metric.type());
 
         // Retrieve all values from cache if it is time to send
         TimelineMetric cachedMetric = metricsCache.getTimelineMetric(name);

+ 25 - 16
ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java

@@ -18,34 +18,43 @@
 
 package org.apache.hadoop.metrics2.sink.timeline;
 
+import org.apache.commons.configuration.SubsetConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.hadoop.metrics2.AbstractMetric;
+import org.apache.hadoop.metrics2.MetricsRecord;
+import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
+import org.easymock.Capture;
+import org.easymock.EasyMock;
+import org.easymock.IAnswer;
+import org.easymock.IArgumentMatcher;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
 import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.COLLECTOR_HOST_PROPERTY;
 import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.MAX_METRIC_ROW_CACHE_SIZE;
 import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.METRICS_SEND_INTERVAL;
 import static org.easymock.EasyMock.anyInt;
 import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.createMockBuilder;
 import static org.easymock.EasyMock.createNiceMock;
 import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.expectLastCall;
 import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.reportMatcher;
 import static org.easymock.EasyMock.verify;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.commons.configuration.SubsetConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.hadoop.metrics2.AbstractMetric;
-import org.apache.hadoop.metrics2.MetricsRecord;
-import org.easymock.EasyMock;
-import org.easymock.IAnswer;
-import org.junit.Assert;
-import org.junit.Test;
-
 public class HadoopTimelineMetricsSinkTest {
 
   @Test
@@ -240,4 +249,4 @@ public class HadoopTimelineMetricsSinkTest {
     Assert.assertEquals(new Double(5.0), values.next());
     Assert.assertEquals(new Double(6.0), values.next());
   }
-}
+}

+ 1 - 11
ambari-metrics/ambari-metrics-kafka-sink/pom.xml

@@ -43,7 +43,7 @@ limitations under the License.
               <goal>copy-dependencies</goal>
             </goals>
             <configuration>
-              <includeArtifactIds>commons-codec,commons-collections,commons-httpclient,commons-lang,commons-logging,guava,jackson-core-asl,jackson-mapper-asl,jackson-xc</includeArtifactIds>
+              <includeArtifactIds>commons-codec,commons-collections,commons-httpclient,commons-lang,commons-logging,guava,jackson-core-asl,jackson-mapper-asl,jackson-xc,hadoop-common</includeArtifactIds>
               <outputDirectory>${project.build.directory}/lib</outputDirectory>
             </configuration>
           </execution>
@@ -130,16 +130,6 @@ limitations under the License.
       <artifactId>metrics-core</artifactId>
       <version>2.2.0</version>
     </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.6</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.13</version>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>

+ 1 - 1
ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java

@@ -40,7 +40,7 @@ import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
 import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
-import org.apache.hadoop.metrics2.sink.util.Servers;
+import org.apache.hadoop.metrics2.util.Servers;
 
 import com.yammer.metrics.Metrics;
 import com.yammer.metrics.core.Counter;

+ 0 - 5
ambari-metrics/ambari-metrics-storm-sink/pom.xml

@@ -113,11 +113,6 @@ limitations under the License.
       <artifactId>ambari-metrics-common</artifactId>
       <version>${project.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.13</version>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>

+ 2 - 1
ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java

@@ -29,7 +29,8 @@ import org.apache.commons.lang.Validate;
 import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
-import org.apache.hadoop.metrics2.sink.util.Servers;
+import org.apache.hadoop.metrics2.util.Servers;
+import org.codehaus.jackson.map.AnnotationIntrospector;
 
 import java.net.InetAddress;
 import java.net.InetSocketAddress;

+ 1 - 1
ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java

@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
 import org.apache.hadoop.metrics2.sink.timeline.UnableToConnectException;
 import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
 import org.apache.hadoop.metrics2.sink.timeline.configuration.Configuration;
-import org.apache.hadoop.metrics2.sink.util.Servers;
+import org.apache.hadoop.metrics2.util.Servers;
 
 import java.io.IOException;
 import java.net.InetAddress;

+ 7 - 13
ambari-metrics/ambari-metrics-storm-sink/src/test/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSinkTest.java

@@ -18,24 +18,18 @@
 
 package org.apache.hadoop.metrics2.sink.storm;
 
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-import java.io.IOException;
-import java.net.SocketAddress;
-import java.util.Collections;
-
+import backtype.storm.metric.api.IMetricsConsumer;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
 import org.junit.Test;
 
-import backtype.storm.metric.api.IMetricsConsumer;
+import java.io.IOException;
+import java.net.SocketAddress;
+import java.util.Collections;
+
+import static org.easymock.EasyMock.*;
 
 public class StormTimelineMetricsSinkTest {
   @Test
@@ -71,4 +65,4 @@ public class StormTimelineMetricsSinkTest {
         Collections.singleton(new IMetricsConsumer.DataPoint("key1", 42)));
     verify(timelineMetricsCache, httpClient);
   }
-}
+}