Repository: ambari
Updated Branches:
  refs/heads/trunk 08d499f9e -> 773541ea0


AMBARI-5510. NPE in ganglia property provider (Eugene Chekanskiy via smohanty)


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

Branch: refs/heads/trunk
Commit: 773541ea06916d63aa2cd2c701b2759c6bd6384f
Parents: 08d499f
Author: Sumit Mohanty <[email protected]>
Authored: Fri Apr 18 08:39:11 2014 -0700
Committer: Sumit Mohanty <[email protected]>
Committed: Fri Apr 18 10:00:55 2014 -0700

----------------------------------------------------------------------
 .../controller/ganglia/GangliaPropertyProvider.java     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/773541ea/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 8c16bb0..a0c9b3c 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
@@ -487,8 +487,16 @@ public abstract class GangliaPropertyProvider extends 
AbstractPropertyProvider {
           metric.setHost_name(reader.readLine());
           metric.setMetric_name(reader.readLine());
 
-          int time = convertToNumber(reader.readLine()).intValue();
-          int step = convertToNumber(reader.readLine()).intValue();
+          String timeStr = reader.readLine();
+          String stepStr = reader.readLine();
+          if (timeStr == null || timeStr.isEmpty() || stepStr == null
+              || stepStr.isEmpty()) {
+            LOG.info("Unexpected end of stream reached while getting ganglia " 
+
+                "metrics for spec => " + spec);
+            return Collections.emptySet();
+          }
+          int time = convertToNumber(timeStr).intValue();
+          int step = convertToNumber(stepStr).intValue();
 
           String val     = reader.readLine();
           String lastVal = null;

Reply via email to