You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by tb...@apache.org on 2014/01/23 20:12:29 UTC

git commit: AMBARI-4394 : Temporal Host metrics can get overwritten.

Updated Branches:
  refs/heads/trunk 7bee7da4d -> 67b7c76fd


AMBARI-4394 : Temporal Host metrics can get overwritten.


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

Branch: refs/heads/trunk
Commit: 67b7c76fd71e73768ef6def81187041246f07f35
Parents: 7bee7da
Author: tbeerbower <tb...@hortonworks.com>
Authored: Thu Jan 23 13:46:29 2014 -0500
Committer: tbeerbower <tb...@hortonworks.com>
Committed: Thu Jan 23 14:09:21 2014 -0500

----------------------------------------------------------------------
 .../ganglia/GangliaPropertyProvider.java        |   9 +-
 .../ganglia/GangliaPropertyProviderTest.java    |  33 +-
 .../resources/host_temporal_ganglia_data.txt    | 511 +++++++++++++++++++
 3 files changed, 549 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/67b7c76f/ambari-server/src/main/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProvider.java
index 1914875..6940861 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProvider.java
@@ -337,11 +337,11 @@ public abstract class GangliaPropertyProvider extends AbstractPropertyProvider {
   private static Object getValue(GangliaMetric metric, boolean isTemporal) {
     Number[][] dataPoints = metric.getDatapoints();
 
+    int length = dataPoints.length;
     if (isTemporal) {
-      return dataPoints;
+      return length > 0 ? dataPoints : null;
     } else {
       // return the value of the last data point
-      int length = dataPoints.length;
       return length > 0 ? dataPoints[length - 1][0] : 0;
     }
   }
@@ -604,7 +604,10 @@ public abstract class GangliaPropertyProvider extends AbstractPropertyProvider {
                     ++i;
                   }
                 }
-                resource.setProperty(propertyId, getValue(gangliaMetric, temporalInfo != null));
+                Object value = getValue(gangliaMetric, temporalInfo != null);
+                if (value != null) {
+                  resource.setProperty(propertyId, value);
+                }
               }
             }
           }

http://git-wip-us.apache.org/repos/asf/ambari/blob/67b7c76f/ambari-server/src/test/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProviderTest.java
index f981e98..4e827ab 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProviderTest.java
@@ -28,7 +28,6 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 
 import org.apache.ambari.server.configuration.ComponentSSLConfiguration;
@@ -250,6 +249,38 @@ public class GangliaPropertyProviderTest {
     
   }
 
+  @Test
+  public void testPopulateResources_checkHost() throws Exception {
+    TestStreamProvider streamProvider  = new TestStreamProvider("host_temporal_ganglia_data.txt");
+    TestGangliaHostProvider hostProvider = new TestGangliaHostProvider();
+
+    GangliaPropertyProvider propertyProvider = new GangliaHostPropertyProvider(
+        PropertyHelper.getGangliaPropertyIds(Resource.Type.Host),
+        streamProvider,
+        configuration,
+        hostProvider,
+        CLUSTER_NAME_PROPERTY_ID,
+        HOST_NAME_PROPERTY_ID
+    );
+
+    // host
+    Resource resource = new ResourceImpl(Resource.Type.Host);
+    resource.setProperty(HOST_NAME_PROPERTY_ID, "corp-hadoopda05.client.ext");
+
+    // only ask for one property
+    Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
+    temporalInfoMap.put("metrics/process/proc_total", new TemporalInfoImpl(10L, 20L, 1L));
+    Request  request = PropertyHelper.getReadRequest(Collections.singleton("metrics/process/proc_total"), temporalInfoMap);
+
+    Set<Resource> populateResources = propertyProvider.populateResources(Collections.singleton(resource), request, null);
+
+    Assert.assertEquals(1, populateResources.size());
+
+    Resource res = populateResources.iterator().next();
+
+    Number[][] val = (Number[][]) res.getPropertyValue("metrics/process/proc_total");
+    Assert.assertEquals(226, val.length);
+  }
 
   @Test
   public void testPopulateManyResources() throws Exception {

http://git-wip-us.apache.org/repos/asf/ambari/blob/67b7c76f/ambari-server/src/test/resources/host_temporal_ganglia_data.txt
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/host_temporal_ganglia_data.txt b/ambari-server/src/test/resources/host_temporal_ganglia_data.txt
new file mode 100644
index 0000000..5e153fc
--- /dev/null
+++ b/ambari-server/src/test/resources/host_temporal_ganglia_data.txt
@@ -0,0 +1,511 @@
+1389142901.0
+sum
+HDPJobTracker
+corp-hadoopda05.client.ext
+proc_total
+1389121200
+15
+[~EOM]
+sum
+HDPJobTracker
+corp-hadoopda05.client.ext
+proc_run
+1389121200
+15
+[~EOM]
+sum
+HDPHBaseMaster
+corp-hadoopda05.client.ext
+proc_total
+1389121200
+15
+[~EOM]
+sum
+HDPHBaseMaster
+corp-hadoopda05.client.ext
+proc_run
+1389121200
+15
+[~EOM]
+sum
+HDPSlaves
+corp-hadoopda05.client.ext
+proc_total
+1389121200
+15
+521.666666667
+523.0
+523.0
+523.0
+523.0
+523.0
+520.6
+519.0
+519.0
+519.0
+519.0
+519.0
+519.0
+519.0
+519.0
+519.0
+522.6
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+566.333333333
+587.0
+587.0
+587.0
+587.0
+569.4
+563.0
+563.0
+563.0
+563.0
+563.0
+539.533333333
+531.0
+531.0
+531.0
+531.0
+564.733333333
+577.0
+577.0
+577.0
+577.0
+547.666666667
+533.0
+533.0
+533.0
+533.0
+533.0
+530.866666667
+529.0
+529.0
+529.0
+529.0
+569.8
+597.0
+597.0
+597.0
+597.0
+580.8
+570.0
+570.0
+570.0
+570.0
+570.0
+627.0
+665.0
+665.0
+665.0
+665.0
+621.666666667
+600.0
+600.0
+600.0
+600.0
+559.2
+532.0
+532.0
+532.0
+532.0
+532.0
+532.0
+532.0
+532.0
+532.0
+532.0
+525.933333333
+525.0
+525.0
+525.0
+525.0
+525.0
+823.666666667
+845.0
+845.0
+845.0
+845.0
+582.733333333
+564.0
+564.0
+564.0
+564.0
+534.133333333
+532.0
+532.0
+532.0
+532.0
+532.0
+525.933333333
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+525.0
+523.266666667
+523.0
+523.0
+523.0
+523.0
+523.0
+522.2
+522.0
+522.0
+522.0
+522.0
+523.8
+525.0
+525.0
+525.0
+525.0
+551.4
+569.0
+569.0
+569.0
+569.0
+547.4
+533.0
+533.0
+533.0
+533.0
+533.0
+534.333333333
+535.0
+535.0
+535.0
+535.0
+533.8
+533.0
+533.0
+533.0
+533.0
+530.866666667
+529.0
+529.0
+529.0
+529.0
+529.0
+717.8
+883.0
+883.0
+883.0
+883.0
+960.0
+1048.0
+1048.0
+1048.0
+1048.0
+1069.0
+1111.0
+1111.0
+1111.0
+1111.0
+1126.73333333
+1170.0
+1170.0
+1170.0
+1170.0
+1170.0
+1116.13333333
+968.0
+968.0
+968.0
+968.0
+925.6
+862.0
+862.0
+862.0
+862.0
+862.0
+862.4
+863.0
+863.0
+863.0
+863.0
+810.0
+704.0
+704.0
+704.0
+704.0
+662.333333333
+579.0
+[~EOM]
+sum
+HDPSlaves
+corp-hadoopda05.client.ext
+proc_run
+1389121200
+15
+1.0
+1.0
+1.0
+1.0
+1.0
+1.0
+1.0
+1.0
+1.0
+1.0
+1.0
+0.4
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.733333333333
+1.0
+1.0
+1.0
+1.0
+0.4
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.733333333333
+1.0
+1.0
+1.0
+1.0
+1.0
+0.266666666667
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.533333333333
+1.0
+1.0
+1.0
+1.0
+0.4
+0.0
+0.0
+0.0
+0.0
+0.6
+1.0
+1.0
+1.0
+1.0
+1.0
+3.4
+5.0
+5.0
+5.0
+5.0
+3.0
+2.0
+2.0
+2.0
+2.0
+0.8
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+10.2666666667
+11.0
+11.0
+11.0
+11.0
+1.66666666667
+1.0
+1.0
+1.0
+1.0
+0.0666666666667
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.866666666667
+1.0
+1.0
+1.0
+1.0
+1.0
+0.2
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.6
+1.0
+1.0
+1.0
+1.0
+1.0
+0.333333333333
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+4.8
+9.0
+9.0
+9.0
+9.0
+8.53333333333
+8.0
+8.0
+8.0
+8.0
+6.33333333333
+3.0
+3.0
+3.0
+3.0
+3.26666666667
+4.0
+4.0
+4.0
+4.0
+4.0
+6.13333333333
+12.0
+12.0
+12.0
+12.0
+12.0
+12.0
+12.0
+12.0
+12.0
+12.0
+12.4
+13.0
+13.0
+13.0
+13.0
+8.66666666667
+0.0
+0.0
+0.0
+0.0
+0.666666666667
+2.0
+[~EOM]
+sum
+HDPNameNode
+corp-hadoopda05.client.ext
+proc_total
+1389121200
+15
+[~EOM]
+sum
+HDPNameNode
+corp-hadoopda05.client.ext
+proc_run
+1389121200
+15
+[~EOM]
+[~EOF]
+1389142901.0
\ No newline at end of file