Index: src/main/java/org/apache/hadoop/hbase/client/Increment.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/client/Increment.java (revision 10896) +++ src/main/java/org/apache/hadoop/hbase/client/Increment.java (working copy) @@ -29,7 +29,6 @@ import org.apache.hadoop.hbase.io.TimeRange; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.io.Writable; /** * Used to perform Increment operations on a single row. @@ -43,7 +42,7 @@ * to increment. At least one column to increment must be specified using the * {@link #addColumn(byte[], byte[], long)} method. */ -public class Increment implements Writable { +public class Increment implements Row { private static final byte INCREMENT_VERSION = (byte)1; private byte [] row = null; @@ -324,4 +323,9 @@ } } } + + @Override + public int compareTo(Row i) { + return Bytes.compareTo(this.getRow(), i.getRow()); + } } Index: src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 10896) +++ src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -2485,6 +2485,9 @@ response.add(regionName, originalIndex, get(regionName, (Get) action)); } else if (action instanceof Put) { puts.add(a); // wont throw. + } else if (action instanceof Increment) { + response.add(regionName, originalIndex, + increment(regionName, (Increment) action)); } else { LOG.debug("Error: invalid Action, row must be a Get, Delete or Put."); throw new DoNotRetryIOException("Invalid Action, row must be a Get, Delete or Put.");