From b70e1fdcb1cebee48507d9d304f8fae7efe3cd9f Mon Sep 17 00:00:00 2001 From: qgxiaozhan Date: Tue, 11 Apr 2017 12:29:27 +0800 Subject: [PATCH] HBASE-17816 --- .../apache/hadoop/hbase/regionserver/HRegion.java | 1 + .../hadoop/hbase/regionserver/TestHRegion.java | 24 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index e7e65a6a04..dec105ba04 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -7277,6 +7277,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi @Override public void mutateRowsWithLocks(Collection mutations, Collection rowsToLock, long nonceGroup, long nonce) throws IOException { + writeRequestsCount.add(mutations.size()); MultiRowMutationProcessor proc = new MultiRowMutationProcessor(mutations, rowsToLock); processRowsWithLocks(proc, -1, nonceGroup, nonce); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java index e1af83a682..0b7e3b57d6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java @@ -6779,4 +6779,28 @@ public class TestHRegion { this.region = null; } } + + @Test + public void testMutateRow_WriteRequestCount() throws Exception { + byte[] row1 = Bytes.toBytes("row1"); + byte[] fam1 = Bytes.toBytes("fam1"); + byte[] qf1 = Bytes.toBytes("qualifier"); + byte[] val1 = Bytes.toBytes("value1"); + + RowMutations rm = new RowMutations(row1); + Put put = new Put(row1); + put.addColumn(fam1, qf1, val1); + rm.add(put); + + this.region = initHRegion(tableName, method, CONF, fam1); + try { + long wrcBeforeMutate = this.region.writeRequestsCount.get(); + this.region.mutateRow(rm); + long wrcAfterMutate = this.region.writeRequestsCount.get(); + Assert.assertEquals(wrcBeforeMutate + rm.getMutations().size(), wrcAfterMutate); + } finally { + HBaseTestingUtility.closeRegionAndWAL(this.region); + this.region = null; + } + } } -- 2.11.0 (Apple Git-81)