You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by mp...@apache.org on 2013/01/24 22:22:20 UTC
git commit: FLUME-1870. Flume sends non-numeric values with type as
float to Ganglia causing ganglia to crash.
Updated Branches:
refs/heads/trunk 380588d0e -> 59c30364d
FLUME-1870. Flume sends non-numeric values with type as float to Ganglia causing ganglia to crash.
(Hari Shreedharan via Mike Percy)
Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/59c30364
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/59c30364
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/59c30364
Branch: refs/heads/trunk
Commit: 59c30364d8796a3806c8c2760682391d4eda1bae
Parents: 380588d
Author: Mike Percy <mp...@apache.org>
Authored: Thu Jan 24 13:03:47 2013 -0800
Committer: Mike Percy <mp...@apache.org>
Committed: Thu Jan 24 13:03:47 2013 -0800
----------------------------------------------------------------------
.../flume/instrumentation/GangliaServer.java | 28 ++++++++------
1 files changed, 16 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flume/blob/59c30364/flume-ng-core/src/main/java/org/apache/flume/instrumentation/GangliaServer.java
----------------------------------------------------------------------
diff --git a/flume-ng-core/src/main/java/org/apache/flume/instrumentation/GangliaServer.java b/flume-ng-core/src/main/java/org/apache/flume/instrumentation/GangliaServer.java
index 8d34fee..7d4be55 100644
--- a/flume-ng-core/src/main/java/org/apache/flume/instrumentation/GangliaServer.java
+++ b/flume-ng-core/src/main/java/org/apache/flume/instrumentation/GangliaServer.java
@@ -18,8 +18,6 @@
*/
package org.apache.flume.instrumentation;
-import com.google.common.base.Throwables;
-import java.lang.management.ManagementFactory;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
@@ -29,15 +27,9 @@ import java.net.SocketException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
-import javax.management.Attribute;
-import javax.management.AttributeList;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
import org.apache.flume.Context;
import org.apache.flume.FlumeException;
import org.apache.flume.api.HostInfo;
@@ -239,7 +231,14 @@ public class GangliaServer implements MonitorService {
+ name + ": " + value);
name = hostname + "." + name;
xdr_int(0);
- xdr_string("float");
+ String type = "string";
+ try {
+ Float.parseFloat(value);
+ type = "float";
+ } catch (NumberFormatException ex) {
+ // The param is a string, and so leave the type as is.
+ }
+ xdr_string(type); // metric type
xdr_string(name);
xdr_string(value);
xdr_string(DEFAULT_UNITS);
@@ -255,7 +254,14 @@ public class GangliaServer implements MonitorService {
xdr_string(hostname); // hostname
xdr_string(name); // metric name
xdr_int(0); // spoof = False
- xdr_string("float"); // metric type
+ String type = "string";
+ try {
+ Float.parseFloat(value);
+ type = "float";
+ } catch (NumberFormatException ex) {
+ // The param is a string, and so leave the type as is.
+ }
+ xdr_string(type); // metric type
xdr_string(name); // metric name
xdr_string(DEFAULT_UNITS); // units
xdr_int(DEFAULT_SLOPE); // slope
@@ -325,8 +331,6 @@ public class GangliaServer implements MonitorService {
protected class GangliaCollector implements Runnable {
private GangliaServer server;
- private final MBeanServer mbeanServer = ManagementFactory.
- getPlatformMBeanServer();
@Override
public void run() {