Index: src/java/org/apache/hadoop/hbase/client/HTable.java =================================================================== --- src/java/org/apache/hadoop/hbase/client/HTable.java (revision 677307) +++ src/java/org/apache/hadoop/hbase/client/HTable.java (working copy) @@ -1168,6 +1168,17 @@ } ); } + + /** + * Commit a RowsBatchUpdate to the table. + * @param batchUpdate + * @throws IOException + */ + public synchronized void commit(final List batchUpdates) + throws IOException { + for(BatchUpdate batchUpdate : batchUpdates) + commit(batchUpdate); + } /** * Implements the scanner interface for the HBase client. Index: src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java =================================================================== --- src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java (revision 677307) +++ src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java (working copy) @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.Map; import org.apache.hadoop.hbase.HBaseClusterTestCase; @@ -41,6 +42,7 @@ private static final String SMALLFAM_STR = "smallfam:"; private static final byte [] SMALLFAM = Bytes.toBytes(SMALLFAM_STR); private static final int SMALL_LENGTH = 1; + private static final int NB_BATCH_ROWS = 10; private byte[] value; private byte[] smallValue; @@ -125,4 +127,25 @@ fail("Value is long enough, should not throw exception"); } } + + public void testRowsBatchUpdate() { + ArrayList rowsUpdate = new ArrayList(); + for(int i = 0; i < NB_BATCH_ROWS; i++) { + BatchUpdate batchUpdate = new BatchUpdate("row"+i); + batchUpdate.put(CONTENTS, value); + rowsUpdate.add(batchUpdate); + } + try { + table.commit(rowsUpdate); + + byte [][] columns = { CONTENTS }; + Scanner scanner = table.getScanner(columns, HConstants.EMPTY_START_ROW); + int nbRows = 0; + for(RowResult row : scanner) + nbRows++; + assertEquals(NB_BATCH_ROWS, nbRows); + } catch (IOException e) { + fail("This is unexpected : " + e); + } + } }