You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2013/12/16 14:28:50 UTC

[12/12] git commit: AMBARI-4072. Remove extraneous jmx and ganglia files (ncole)

AMBARI-4072. Remove extraneous jmx and ganglia files (ncole)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/eb80c2b7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/eb80c2b7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/eb80c2b7

Branch: refs/heads/trunk
Commit: eb80c2b7e681beca82fe9ac034b73fbf21324130
Parents: 5629ad9
Author: Nate Cole <nc...@hortonworks.com>
Authored: Fri Dec 13 17:13:29 2013 -0500
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Mon Dec 16 08:27:43 2013 -0500

----------------------------------------------------------------------
 .../internal/AbstractProviderModule.java        |   138 +-
 .../internal/VersioningPropertyProvider.java    |   115 -
 .../controller/utilities/PropertyHelper.java    |    33 +-
 .../main/resources/ganglia_properties_2.json    |  8988 -----------
 .../src/main/resources/jmx_properties_2.json    |  2867 ----
 .../HDP/2.0.8/services/HBASE/metrics.json       | 13635 +++++++++++++++++
 .../stacks/HDP/2.0.8/services/HDFS/metrics.json |  7800 ++++++++++
 .../HDP/2.0.8/services/MAPREDUCE2/metrics.json  |   383 +
 .../stacks/HDP/2.0.8/services/YARN/metrics.json |  2534 +++
 .../stacks/HDP/2.0._/services/HDFS/metrics.json |    36 +-
 .../ganglia/GangliaPropertyProviderTest.java    |   262 +-
 .../GangliaReportPropertyProviderTest.java      |     2 +-
 .../internal/AbstractPropertyProviderTest.java  |    37 +-
 .../internal/AbstractProviderModuleTest.java    |   121 -
 .../StackDefinedPropertyProviderTest.java       |   680 +-
 .../VersioningPropertyProviderTest.java         |   157 -
 .../controller/jmx/JMXPropertyProviderTest.java |   441 +-
 .../utilities/PropertyHelperTest.java           |   246 +-
 .../HDP/2.0.5/services/HBASE/metrics.json       |  3186 ++++
 .../stacks/HDP/2.0.5/services/HDFS/metrics.json |   935 ++
 .../stacks/HDP/2.0.5/services/YARN/metrics.json |  1653 ++
 21 files changed, 30951 insertions(+), 13298 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/eb80c2b7/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java
index 051eb31..e5e10ef 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java
@@ -47,8 +47,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 /**
  * An abstract provider module implementation.
@@ -59,7 +57,6 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
   private static final int PROPERTY_REQUEST_READ_TIMEOUT    = 10000;
 
   private static final String CLUSTER_NAME_PROPERTY_ID                  = PropertyHelper.getPropertyId("Clusters", "cluster_name");
-  private static final String CLUSTER_VERSION_PROPERTY_ID               = PropertyHelper.getPropertyId("Clusters", "version");
   private static final String HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID   = PropertyHelper.getPropertyId("HostRoles", "cluster_name");
   private static final String HOST_COMPONENT_HOST_NAME_PROPERTY_ID      = PropertyHelper.getPropertyId("HostRoles", "host_name");
   private static final String HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "component_name");
@@ -119,12 +116,6 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
   private AmbariManagementController managementController;
 
   /**
-   * Cluster versions.
-   */
-  private final Map<String, PropertyHelper.MetricsVersion> clusterVersionsMap =
-      new HashMap<String, PropertyHelper.MetricsVersion>();
-
-  /**
    * The map of host components.
    */
   private Map<String, Map<String, String>> clusterHostComponentMap;
@@ -184,11 +175,8 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
   public void update(ResourceProviderEvent event) {
     Resource.Type type = event.getResourceType();
 
-    if (type == Resource.Type.Cluster) {
-      resetInit();
-      updateClusterVersion();
-    }
-    if (type == Resource.Type.Host ||
+    if (type == Resource.Type.Cluster ||
+        type == Resource.Type.Host ||
         type == Resource.Type.HostComponent) {
       resetInit();
     }
@@ -310,18 +298,6 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
 
   // ----- utility methods ---------------------------------------------------
 
-  /**
-   * Get the metrics version for the given cluster name.
-   *
-   * @param clusterName  the cluster name
-   *
-   * @return the metrics version for the given cluster name
-   */
-  protected PropertyHelper.MetricsVersion getMetricsVersion(String clusterName) {
-    updateClusterVersion();
-    return clusterVersionsMap.get(clusterName);
-  }
-
   protected abstract ResourceProvider createResourceProvider(Resource.Type type);
 
   protected void registerResourceProvider(Resource.Type type) {
@@ -462,44 +438,6 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
     }
   }
 
-  /**
-   * Update a map of known cluster names to version of JMX metrics.  The JMX metrics version is based on the
-   * HDP version of the cluster.
-   */
-  private void updateClusterVersion() {
-    synchronized (clusterVersionsMap) {
-      clusterVersionsMap.clear();
-
-      ResourceProvider provider = getResourceProvider(Resource.Type.Cluster);
-      Request request = PropertyHelper.getReadRequest(CLUSTER_NAME_PROPERTY_ID, CLUSTER_VERSION_PROPERTY_ID);
-
-      try {
-        Set<Resource> clusters = provider.getResources(request, null);
-
-        for (Resource cluster : clusters) {
-          String clusterVersion = (String) cluster.getPropertyValue(CLUSTER_VERSION_PROPERTY_ID);
-          PropertyHelper.MetricsVersion version = PropertyHelper.MetricsVersion.HDP2;
-
-          Matcher m = Pattern.compile("[0-9]+(\\.[0-9]+)+").matcher(clusterVersion);
-          if (m.find()) {
-            clusterVersion = m.group(0);
-            if (clusterVersion.equals("1") || clusterVersion.startsWith("1.")) {
-              version = PropertyHelper.MetricsVersion.HDP1;
-            }
-          }
-
-          clusterVersionsMap.put(
-              (String) cluster.getPropertyValue(CLUSTER_NAME_PROPERTY_ID),
-              version);
-        }
-      } catch (Exception e) {
-        if (LOG.isErrorEnabled()) {
-          LOG.error("Caught exception while trying to get the cluster versions.", e);
-        }
-      }
-    }
-  }
-
   private void initProviderMaps() throws SystemException {
     ResourceProvider provider = getResourceProvider(Resource.Type.Cluster);
     Request          request  = PropertyHelper.getReadRequest(CLUSTER_NAME_PROPERTY_ID);
@@ -651,20 +589,9 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
                                                      String componentNamePropertyId,
                                                      String statePropertyId,
                                                      Set<String> healthyStates) {
-    updateClusterVersion();
-
-    Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers =
-        new HashMap<PropertyHelper.MetricsVersion, AbstractPropertyProvider>();
-    AbstractPropertyProvider lastProvider = null;
-
-    for (PropertyHelper.MetricsVersion version : PropertyHelper.MetricsVersion.values()) {
-
-      lastProvider = new JMXPropertyProvider(PropertyHelper.getJMXPropertyIds(type, version), streamProvider,
+    
+    return new JMXPropertyProvider(PropertyHelper.getJMXPropertyIds(type), streamProvider,
           jmxHostProvider, clusterNamePropertyId, hostNamePropertyId, componentNamePropertyId, statePropertyId, healthyStates);
-      providers.put(version, lastProvider);
-    }
-
-    return new VersioningPropertyProvider(clusterVersionsMap, providers, lastProvider, clusterNamePropertyId);
   }
 
   /**
@@ -674,20 +601,9 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
                                                                 ComponentSSLConfiguration configuration,
                                                                 GangliaHostProvider hostProvider,
                                                                 String clusterNamePropertyId) {
-    updateClusterVersion();
-
-    Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers =
-        new HashMap<PropertyHelper.MetricsVersion, AbstractPropertyProvider>();
-    AbstractPropertyProvider lastProvider = null;
-
-    for (PropertyHelper.MetricsVersion version : PropertyHelper.MetricsVersion.values()) {
-
-      lastProvider = new GangliaReportPropertyProvider(PropertyHelper.getGangliaPropertyIds(type, version), streamProvider,
+    
+    return new GangliaReportPropertyProvider(PropertyHelper.getGangliaPropertyIds(type), streamProvider,
           configuration, hostProvider, clusterNamePropertyId);
-      providers.put(version, lastProvider);
-    }
-
-    return new VersioningPropertyProvider(clusterVersionsMap, providers, lastProvider, clusterNamePropertyId);
   }
 
   /**
@@ -698,20 +614,8 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
                                                               GangliaHostProvider hostProvider,
                                                               String clusterNamePropertyId,
                                                               String hostNamePropertyId) {
-    updateClusterVersion();
-
-    Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers =
-        new HashMap<PropertyHelper.MetricsVersion, AbstractPropertyProvider>();
-    AbstractPropertyProvider lastProvider = null;
-
-    for (PropertyHelper.MetricsVersion version : PropertyHelper.MetricsVersion.values()) {
-
-      lastProvider = new GangliaHostPropertyProvider(PropertyHelper.getGangliaPropertyIds(type, version), streamProvider,
+    return new GangliaHostPropertyProvider(PropertyHelper.getGangliaPropertyIds(type), streamProvider,
           configuration, hostProvider, clusterNamePropertyId, hostNamePropertyId);
-      providers.put(version, lastProvider);
-    }
-
-    return new VersioningPropertyProvider(clusterVersionsMap, providers, lastProvider, clusterNamePropertyId);
   }
 
   /**
@@ -722,21 +626,8 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
                                                                    GangliaHostProvider hostProvider,
                                                                    String clusterNamePropertyId,
                                                                    String componentNamePropertyId) {
-    updateClusterVersion();
-
-    Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers =
-        new HashMap<PropertyHelper.MetricsVersion, AbstractPropertyProvider>();
-    AbstractPropertyProvider lastProvider = null;
-
-    for (PropertyHelper.MetricsVersion version : PropertyHelper.MetricsVersion.values()) {
-      lastProvider =
-          new GangliaComponentPropertyProvider(PropertyHelper.getGangliaPropertyIds(type, version),
+    return new GangliaComponentPropertyProvider(PropertyHelper.getGangliaPropertyIds(type),
               streamProvider, configuration, hostProvider, clusterNamePropertyId, componentNamePropertyId);
-
-      providers.put(version, lastProvider);
-    }
-
-    return new VersioningPropertyProvider(clusterVersionsMap, providers, lastProvider, clusterNamePropertyId);
   }
 
 
@@ -749,20 +640,9 @@ public abstract class AbstractProviderModule implements ProviderModule, Resource
                                                                        String clusterNamePropertyId,
                                                                        String hostNamePropertyId,
                                                                        String componentNamePropertyId) {
-    updateClusterVersion();
-
-    Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers =
-        new HashMap<PropertyHelper.MetricsVersion, AbstractPropertyProvider>();
-    AbstractPropertyProvider lastProvider = null;
 
-    for (PropertyHelper.MetricsVersion version : PropertyHelper.MetricsVersion.values()) {
-
-      lastProvider = new GangliaHostComponentPropertyProvider(PropertyHelper.getGangliaPropertyIds(type, version), streamProvider,
+    return new GangliaHostComponentPropertyProvider(PropertyHelper.getGangliaPropertyIds(type), streamProvider,
           configuration, hostProvider, clusterNamePropertyId, hostNamePropertyId, componentNamePropertyId);
-      providers.put(version, lastProvider);
-    }
-
-    return new VersioningPropertyProvider(clusterVersionsMap, providers, lastProvider, clusterNamePropertyId);
   }
   
   @Override

http://git-wip-us.apache.org/repos/asf/ambari/blob/eb80c2b7/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersioningPropertyProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersioningPropertyProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersioningPropertyProvider.java
deleted file mode 100644
index b1b1d5c..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersioningPropertyProvider.java
+++ /dev/null
@@ -1,115 +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.ambari.server.controller.internal;
-
-import org.apache.ambari.server.controller.spi.Predicate;
-import org.apache.ambari.server.controller.spi.PropertyProvider;
-import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.spi.SystemException;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * A property provider that delegates to other Property providers based on the
- * metrics version of the cluster associated with the resources being populated.
- */
-public class VersioningPropertyProvider extends BaseProvider implements PropertyProvider {
-
-  private final Map<String, PropertyHelper.MetricsVersion> clusterVersions;
-  private final Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers;
-  private final AbstractPropertyProvider defaultProvider;
-  private final String clusterNamePropertyId;
-
-  /**
-   * Create a version aware property provider.
-   */
-  public VersioningPropertyProvider(Map<String, PropertyHelper.MetricsVersion> clusterVersions,
-                                    Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers,
-                                    AbstractPropertyProvider defaultProvider,
-                                    String clusterNamePropertyId) {
-    super(getComponentMetrics(providers));
-
-    this.clusterVersions       = clusterVersions;
-    this.providers             = providers;
-    this.defaultProvider       = defaultProvider;
-    this.clusterNamePropertyId = clusterNamePropertyId;
-  }
-
-  @Override
-  public Set<Resource> populateResources(Set<Resource> resources, Request request, Predicate predicate)
-      throws SystemException {
-
-    Set<Resource> keepers = new HashSet<Resource>();
-
-    // divide up the given resources according to their associated clusters
-    Map<String, Set<Resource>> resourcesByCluster = new HashMap<String, Set<Resource>>();
-
-    for (Resource resource : resources) {
-      String clusterName = (String) resource.getPropertyValue(clusterNamePropertyId);
-
-      Set<Resource> resourceSet = resourcesByCluster.get(clusterName);
-
-      if (resourceSet == null) {
-        resourceSet = new HashSet<Resource>();
-        resourcesByCluster.put(clusterName, resourceSet);
-      }
-      resourceSet.add(resource);
-    }
-
-    // give each set of resources to the underlying provider that matches the
-    // metrics version of the associated cluster
-    for (Map.Entry<String, Set<Resource>> entry : resourcesByCluster.entrySet()) {
-      String                   clusterName = entry.getKey();
-      Set<Resource>            resourceSet = entry.getValue();
-      AbstractPropertyProvider provider    = null;
-
-      if (clusterName == null) {
-        provider = defaultProvider;
-      } else {
-        PropertyHelper.MetricsVersion version = clusterVersions.get(clusterName);
-
-        if (version != null) {
-          provider = providers.get(version);
-        }
-      }
-
-      if (provider != null) {
-        keepers.addAll(provider.populateResources(resourceSet, request, predicate));
-      }
-    }
-    return keepers;
-  }
-
-  // ----- helper methods ----------------------------------------------------
-
-  private static Set<String> getComponentMetrics(Map<PropertyHelper.MetricsVersion, AbstractPropertyProvider> providers) {
-
-    Set<String> propertyIds = new HashSet<String>();
-
-    for (AbstractPropertyProvider provider : providers.values()) {
-      propertyIds.addAll(provider.getPropertyIds());
-    }
-    return propertyIds;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/eb80c2b7/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
index 8d2f495..7ba1522 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
@@ -42,17 +42,13 @@ public class PropertyHelper {
 
   private static final String PROPERTIES_FILE = "properties.json";
   private static final String GANGLIA_PROPERTIES_FILE = "ganglia_properties.json";
-  private static final String GANGLIA_PROPERTIES_FILE_2 = "ganglia_properties_2.json";
   private static final String JMX_PROPERTIES_FILE = "jmx_properties.json";
-  private static final String JMX_PROPERTIES_FILE_2 = "jmx_properties_2.json";
   private static final String KEY_PROPERTIES_FILE = "key_properties.json";
   private static final char EXTERNAL_PATH_SEP = '/';
 
   private static final Map<Resource.Type, Set<String>> PROPERTY_IDS = readPropertyIds(PROPERTIES_FILE);
   private static final Map<Resource.Type, Map<String, Map<String, PropertyInfo>>> JMX_PROPERTY_IDS = readPropertyProviderIds(JMX_PROPERTIES_FILE);
-  private static final Map<Resource.Type, Map<String, Map<String, PropertyInfo>>> JMX_PROPERTY_IDS_2 = readPropertyProviderIds(JMX_PROPERTIES_FILE_2);
   private static final Map<Resource.Type, Map<String, Map<String, PropertyInfo>>> GANGLIA_PROPERTY_IDS = readPropertyProviderIds(GANGLIA_PROPERTIES_FILE);
-  private static final Map<Resource.Type, Map<String, Map<String, PropertyInfo>>> GANGLIA_PROPERTY_IDS_2 = readPropertyProviderIds(GANGLIA_PROPERTIES_FILE_2);
   private static final Map<Resource.Type, Map<Resource.Type, String>> KEY_PROPERTY_IDS = readKeyPropertyIds(KEY_PROPERTIES_FILE);
 
   /**
@@ -60,14 +56,6 @@ public class PropertyHelper {
    */
   private static final Pattern CHECK_FOR_METRIC_ARGUMENTS_REGEX = Pattern.compile(".*\\$\\d+.*");
 
-  /**
-   * Metrics versions.
-   */
-  public enum MetricsVersion {
-    HDP1, // HDP-1.x
-    HDP2  // HDP-2.x
-  }
-
   public static String getPropertyId(String category, String name) {
     String propertyId =  (category == null || category.isEmpty())? name :
            (name == null || name.isEmpty()) ? category : category + EXTERNAL_PATH_SEP + name;
@@ -100,25 +88,12 @@ public class PropertyHelper {
     return propertyIds;
   }
 
-  public static Map<String, Map<String, PropertyInfo>> getGangliaPropertyIds(Resource.Type resourceType, MetricsVersion version) {
-    switch (version) {
-      case HDP1:
-        return GANGLIA_PROPERTY_IDS.get(resourceType);
-      case HDP2:
-      default:
-        return GANGLIA_PROPERTY_IDS_2.get(resourceType);
-    }
+  public static Map<String, Map<String, PropertyInfo>> getGangliaPropertyIds(Resource.Type resourceType) {
+    return GANGLIA_PROPERTY_IDS.get(resourceType);
   }
 
-  public static Map<String, Map<String, PropertyInfo>> getJMXPropertyIds(Resource.Type resourceType, MetricsVersion version) {
-
-    switch (version) {
-      case HDP1:
-        return JMX_PROPERTY_IDS.get(resourceType);
-      case HDP2:
-      default:
-        return JMX_PROPERTY_IDS_2.get(resourceType);
-    }
+  public static Map<String, Map<String, PropertyInfo>> getJMXPropertyIds(Resource.Type resourceType) {
+    return JMX_PROPERTY_IDS.get(resourceType);
   }
 
   public static Map<Resource.Type, String> getKeyPropertyIds(Resource.Type resourceType) {