Repository: hbase Updated Branches: refs/heads/master 87f2bb579 -> ea3a27b18
HBASE-17943 The in-memory flush size is different for each CompactingMemStore located in the same region Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ea3a27b1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ea3a27b1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ea3a27b1 Branch: refs/heads/master Commit: ea3a27b18df875284899b04fbc5fb58a3120e6c7 Parents: 87f2bb5 Author: Chia-Ping Tsai <chia7...@gmail.com> Authored: Fri Apr 21 11:20:20 2017 +0800 Committer: Chia-Ping Tsai <chia7...@gmail.com> Committed: Fri Apr 21 11:20:20 2017 +0800 ---------------------------------------------------------------------- .../hadoop/hbase/regionserver/CompactingMemStore.java | 5 +++++ .../hbase/regionserver/RegionServicesForStores.java | 2 +- .../TestWalAndCompactingMemStoreFlush.java | 14 +++++++++++--- 3 files changed, 17 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/ea3a27b1/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java index 0c56693..b244997 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java @@ -541,6 +541,11 @@ public class CompactingMemStore extends AbstractMemStore { return lowest; } + @VisibleForTesting + long getInmemoryFlushSize() { + return inmemoryFlushSize; + } + // debug method public void debug() { String msg = "active size=" + this.active.keySize(); http://git-wip-us.apache.org/repos/asf/hbase/blob/ea3a27b1/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java index ea346ea..8cdfd3b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java @@ -82,7 +82,7 @@ public class RegionServicesForStores { } public int getNumStores() { - return region.getStores().size(); + return region.getTableDesc().getColumnFamilyCount(); } // methods for tests http://git-wip-us.apache.org/repos/asf/hbase/blob/ea3a27b1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java index aae0a4d..2c16399 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java @@ -108,6 +108,12 @@ public class TestWalAndCompactingMemStoreFlush { return new Get(row); } + private void verifyInMemoryFlushSize(Region region) { + assertEquals( + ((CompactingMemStore) ((HStore)region.getStore(FAMILY1)).memstore).getInmemoryFlushSize(), + ((CompactingMemStore) ((HStore)region.getStore(FAMILY3)).memstore).getInmemoryFlushSize()); + } + // A helper function to verify edits. void verifyEdit(int familyNum, int putNum, Table table) throws IOException { Result r = table.get(createGet(familyNum, putNum)); @@ -137,7 +143,7 @@ public class TestWalAndCompactingMemStoreFlush { // Intialize the region Region region = initHRegion("testSelectiveFlushWithEager", conf); - + verifyInMemoryFlushSize(region); // Add 1200 entries for CF1, 100 for CF2 and 50 for CF3 for (int i = 1; i <= 1200; i++) { region.put(createPut(1, i)); // compacted memstore, all the keys are unique @@ -378,7 +384,7 @@ public class TestWalAndCompactingMemStoreFlush { // Initialize the region Region region = initHRegion("testSelectiveFlushWithIndexCompaction", conf); - + verifyInMemoryFlushSize(region); /*------------------------------------------------------------------------------*/ /* PHASE I - insertions */ // Add 1200 entries for CF1, 100 for CF2 and 50 for CF3 @@ -635,6 +641,7 @@ public class TestWalAndCompactingMemStoreFlush { // Intialize the HRegion HRegion region = initHRegion("testSelectiveFlushAndWALinDataCompaction", conf); + verifyInMemoryFlushSize(region); // Add 1200 entries for CF1, 100 for CF2 and 50 for CF3 for (int i = 1; i <= 1200; i++) { region.put(createPut(1, i)); @@ -773,6 +780,7 @@ public class TestWalAndCompactingMemStoreFlush { // Intialize the HRegion HRegion region = initHRegion("testSelectiveFlushWithBasicAndMerge", conf); + verifyInMemoryFlushSize(region); // Add 1200 entries for CF1 (CompactingMemStore), 100 for CF2 (DefaultMemStore) and 50 for CF3 for (int i = 1; i <= 1200; i++) { region.put(createPut(1, i)); @@ -907,7 +915,7 @@ public class TestWalAndCompactingMemStoreFlush { // Successfully initialize the HRegion HRegion region = initHRegion("testSelectiveFlushAndWALinDataCompaction", conf); - + verifyInMemoryFlushSize(region); Thread[] threads = new Thread[25]; for (int i = 0; i < threads.length; i++) { int id = i * 10000;