Author: stack Date: Wed Sep 2 22:01:34 2009 New Revision: 810709 URL: http://svn.apache.org/viewvc?rev=810709&view=rev Log: HADOOP-4675 Current Ganglia metrics implementation is incompatible with Ganglia 3.1
Modified: hadoop/common/trunk/CHANGES.txt hadoop/common/trunk/conf/hadoop-metrics.properties hadoop/common/trunk/src/java/org/apache/hadoop/metrics/ganglia/GangliaContext.java Modified: hadoop/common/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/CHANGES.txt?rev=810709&r1=810708&r2=810709&view=diff ============================================================================== --- hadoop/common/trunk/CHANGES.txt (original) +++ hadoop/common/trunk/CHANGES.txt Wed Sep 2 22:01:34 2009 @@ -515,6 +515,9 @@ HADOOP-6224. Add a method to WritableUtils performing a bounded read of an encoded String. (Jothi Padmanabhan via cdouglas) + HADOOP-4675 Current Ganglia metrics implementation is incompatible with Ganglia 3.1 + (Brian Brockelman, Scott Beardsley via stack) + OPTIMIZATIONS HADOOP-5595. NameNode does not need to run a replicator to choose a Modified: hadoop/common/trunk/conf/hadoop-metrics.properties URL: http://svn.apache.org/viewvc/hadoop/common/trunk/conf/hadoop-metrics.properties?rev=810709&r1=810708&r2=810709&view=diff ============================================================================== --- hadoop/common/trunk/conf/hadoop-metrics.properties (original) +++ hadoop/common/trunk/conf/hadoop-metrics.properties Wed Sep 2 22:01:34 2009 @@ -7,7 +7,9 @@ #dfs.fileName=/tmp/dfsmetrics.log # Configuration of the "dfs" context for ganglia +# Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter) # dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext +# dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 # dfs.period=10 # dfs.servers=localhost:8649 @@ -21,13 +23,15 @@ #mapred.fileName=/tmp/mrmetrics.log # Configuration of the "mapred" context for ganglia +# Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter) # mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext +# mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 # mapred.period=10 # mapred.servers=localhost:8649 # Configuration of the "jvm" context for null -jvm.class=org.apache.hadoop.metrics.spi.NullContext +#jvm.class=org.apache.hadoop.metrics.spi.NullContext # Configuration of the "jvm" context for file #jvm.class=org.apache.hadoop.metrics.file.FileContext Modified: hadoop/common/trunk/src/java/org/apache/hadoop/metrics/ganglia/GangliaContext.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/metrics/ganglia/GangliaContext.java?rev=810709&r1=810708&r2=810709&view=diff ============================================================================== --- hadoop/common/trunk/src/java/org/apache/hadoop/metrics/ganglia/GangliaContext.java (original) +++ hadoop/common/trunk/src/java/org/apache/hadoop/metrics/ganglia/GangliaContext.java Wed Sep 2 22:01:34 2009 @@ -71,16 +71,16 @@ typeTable.put(Float.class, "float"); } - private byte[] buffer = new byte[BUFFER_SIZE]; - private int offset; + protected byte[] buffer = new byte[BUFFER_SIZE]; + protected int offset; - private List<? extends SocketAddress> metricsServers; + protected List<? extends SocketAddress> metricsServers; private Map<String,String> unitsTable; private Map<String,String> slopeTable; private Map<String,String> tmaxTable; private Map<String,String> dmaxTable; - private DatagramSocket datagramSocket; + protected DatagramSocket datagramSocket; /** Creates a new instance of GangliaContext */ public GangliaContext() { @@ -132,7 +132,7 @@ } } - private void emitMetric(String name, String type, String value) + protected void emitMetric(String name, String type, String value) throws IOException { String units = getUnits(name); int slope = getSlope(name); @@ -156,7 +156,7 @@ } } - private String getUnits(String metricName) { + protected String getUnits(String metricName) { String result = unitsTable.get(metricName); if (result == null) { result = DEFAULT_UNITS; @@ -164,7 +164,7 @@ return result; } - private int getSlope(String metricName) { + protected int getSlope(String metricName) { String slopeString = slopeTable.get(metricName); if (slopeString == null) { slopeString = DEFAULT_SLOPE; @@ -172,7 +172,7 @@ return ("zero".equals(slopeString) ? 0 : 3); // see gmetric.c } - private int getTmax(String metricName) { + protected int getTmax(String metricName) { if (tmaxTable == null) { return DEFAULT_TMAX; } @@ -185,7 +185,7 @@ } } - private int getDmax(String metricName) { + protected int getDmax(String metricName) { String dmaxString = dmaxTable.get(metricName); if (dmaxString == null) { return DEFAULT_DMAX; @@ -200,7 +200,7 @@ * as an int, followed by the bytes of the string, padded if necessary to * a multiple of 4. */ - private void xdr_string(String s) { + protected void xdr_string(String s) { byte[] bytes = s.getBytes(); int len = bytes.length; xdr_int(len); @@ -222,7 +222,7 @@ /** * Puts an integer into the buffer as 4 bytes, big-endian. */ - private void xdr_int(int i) { + protected void xdr_int(int i) { buffer[offset++] = (byte)((i >> 24) & 0xff); buffer[offset++] = (byte)((i >> 16) & 0xff); buffer[offset++] = (byte)((i >> 8) & 0xff);