From 81c0ba517ffe82fe1620ff014a3b689482e11604 Mon Sep 17 00:00:00 2001 From: gsheffi Date: Tue, 30 Jan 2018 16:18:35 +0200 Subject: [PATCH] for creating patch HBASE-19658.00008.patch --- .../TestCompactingToCellFlatMapMemStore.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java index 91a4b04170..9b81c7f395 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java @@ -752,9 +752,9 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore // set memstore to flat into CellChunkMap MemoryCompactionPolicy compactionType = MemoryCompactionPolicy.BASIC; memstore.getConfiguration().set(CompactingMemStore.COMPACTING_MEMSTORE_TYPE_KEY, - String.valueOf(compactionType)); - ((MyCompactingMemStore)memstore).initiateType(compactionType, memstore.getConfiguration()); - ((CompactingMemStore)memstore).setIndexType(CompactingMemStore.IndexType.CHUNK_MAP); + String.valueOf(compactionType)); + ((MyCompactingMemStore) memstore).initiateType(compactionType, memstore.getConfiguration()); + ((CompactingMemStore) memstore).setIndexType(CompactingMemStore.IndexType.CHUNK_MAP); int numOfCells = 1; char[] chars = new char[MemStoreLAB.CHUNK_SIZE_DEFAULT]; @@ -762,7 +762,7 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore chars[i] = 'A'; } String bigVal = new String(chars); - String[] keys1 = { "A"}; + String[] keys1 = {"A"}; // make one cell byte[] row = Bytes.toBytes(keys1[0]); @@ -782,7 +782,7 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(totalCellsLen, regionServicesForStores.getMemStoreSize()); assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); - ((CompactingMemStore)memstore).flushInMemory(); // push keys to pipeline and flatten + ((CompactingMemStore) memstore).flushInMemory(); // push keys to pipeline and flatten while (((CompactingMemStore) memstore).isMemStoreFlushingInMemory()) { Threads.sleep(10); } @@ -807,12 +807,17 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore memstore.clearSnapshot(snapshot.getId()); - String[] keys2 = { "C", "D", "E"}; + // Allocating two big cells (too big for being copied into a regular chunk). + String[] keys2 = {"C", "D"}; addRowsByKeys(memstore, keys2, val); while (((CompactingMemStore) memstore).isMemStoreFlushingInMemory()) { Threads.sleep(10); } - totalHeapSize = 1 * oneCellOnCSLMHeapSize + MutableSegment.DEEP_OVERHEAD + + // The in-memory flush size is bigger than the size of a single cell, + // but smaller than the size of two cells. + // Therefore, the two created cells are flattened together. + totalHeapSize = MutableSegment.DEEP_OVERHEAD + CellChunkImmutableSegment.DEEP_OVERHEAD_CCM + 2 * oneCellOnCCMHeapSize; assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); -- 2.12.2