Author: ecn
Date: Tue May 21 19:40:34 2013
New Revision: 1484917
URL: http://svn.apache.org/r1484917
Log:
ACCUMULO-1421 use reflection to work around class/interface change in Counter
Modified:
accumulo/trunk/ (props changed)
accumulo/trunk/assemble/ (props changed)
accumulo/trunk/core/ (props changed)
accumulo/trunk/examples/ (props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
(props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
(props changed)
accumulo/trunk/pom.xml (props changed)
accumulo/trunk/proxy/README (props changed)
accumulo/trunk/server/ (props changed)
accumulo/trunk/src/ (props changed)
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/continuous/ContinuousVerify.java
Propchange: accumulo/trunk/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5:r1484908
Propchange: accumulo/trunk/assemble/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/assemble:r1484908
Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/core:r1484908
Propchange: accumulo/trunk/examples/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/examples:r1484908
Propchange:
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
------------------------------------------------------------------------------
Merged
/accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1484908
Propchange:
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
------------------------------------------------------------------------------
Merged
/accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java:r1484908
Propchange: accumulo/trunk/pom.xml
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/pom.xml:r1484908
Propchange: accumulo/trunk/proxy/README
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/proxy/README:r1484908
Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/server:r1484908
Propchange: accumulo/trunk/src/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/src:r1484908
Modified:
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/continuous/ContinuousVerify.java
URL:
http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/continuous/ContinuousVerify.java?rev=1484917&r1=1484916&r2=1484917&view=diff
==============================================================================
---
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/continuous/ContinuousVerify.java
(original)
+++
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/continuous/ContinuousVerify.java
Tue May 21 19:40:34 2013
@@ -17,6 +17,7 @@
package org.apache.accumulo.test.continuous;
import java.io.IOException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -36,6 +37,7 @@ import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.VLongWritable;
+import org.apache.hadoop.mapred.Counters.Counter;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
@@ -52,6 +54,24 @@ import com.beust.jcommander.validators.P
public class ContinuousVerify extends Configured implements Tool {
+ // work around hadoop-1/hadoop-2 runtime incompatibility
+ static private Method INCREMENT;
+ static {
+ try {
+ INCREMENT = Counter.class.getMethod("increment", Long.TYPE);
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ private static void increment(Object obj) {
+ try {
+ INCREMENT.invoke(obj, 1L);
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
public static final VLongWritable DEF = new VLongWritable(-1);
public static class CMapper extends
Mapper<Key,Value,LongWritable,VLongWritable> {
@@ -59,7 +79,7 @@ public class ContinuousVerify extends Co
private LongWritable row = new LongWritable();
private LongWritable ref = new LongWritable();
private VLongWritable vrow = new VLongWritable();
-
+
private long corrupt = 0;
@Override
@@ -71,7 +91,7 @@ public class ContinuousVerify extends Co
try {
ContinuousWalk.validate(key, data);
} catch (BadChecksumException bce) {
- context.getCounter(Counts.CORRUPT).increment(1);
+ increment(context.getCounter(Counts.CORRUPT));
if (corrupt < 1000) {
System.out.println("ERROR Bad checksum : " + key);
} else if (corrupt == 1000) {
@@ -126,12 +146,12 @@ public class ContinuousVerify extends Co
}
context.write(new Text(ContinuousIngest.genRow(key.get())), new
Text(sb.toString()));
- context.getCounter(Counts.UNDEFINED).increment(1);
+ increment(context.getCounter(Counts.UNDEFINED));
} else if (defCount > 0 && refs.size() == 0) {
- context.getCounter(Counts.UNREFERENCED).increment(1);
+ increment(context.getCounter(Counts.UNREFERENCED));
} else {
- context.getCounter(Counts.REFERENCED).increment(1);
+ increment(context.getCounter(Counts.REFERENCED));
}
}