From 9f4faeb7d01eeac51d3aaedbaa7122721855802a Mon Sep 17 00:00:00 2001 From: gsheffi Date: Sun, 21 Jan 2018 16:03:55 +0200 Subject: [PATCH] for creating patch HBASE-19658-V04.patch --- .../TestCompactingToCellFlatMapMemStore.java | 39 ++++++++++++++++------ 1 file changed, 28 insertions(+), 11 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 679ccf9f08..d02cb3f049 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 @@ -747,9 +747,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]; @@ -757,7 +757,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]); @@ -777,7 +777,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); } @@ -801,15 +801,32 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(0, regionServicesForStores.getMemStoreSize()); memstore.clearSnapshot(snapshot.getId()); - - String[] keys2 = { "C", "D", "E"}; - addRowsByKeys(memstore, keys2, val); + numOfCells = 3; + String[] keys2 = {"C", "D", "E"}; + totalCellsLen = addRowsByKeys(memstore, keys2, val); while (((CompactingMemStore) memstore).isMemStoreFlushingInMemory()) { Threads.sleep(10); } - totalHeapSize = 1 * oneCellOnCSLMHeapSize + MutableSegment.DEEP_OVERHEAD - + CellChunkImmutableSegment.DEEP_OVERHEAD_CCM - + 2 * oneCellOnCCMHeapSize; + + long inMemoryFlushSize = ((CompactingMemStore) memstore).getInmemoryFlushSize(); + if (3 * oneCellOnCSLMHeapSize + MutableSegment.DEEP_OVERHEAD < inMemoryFlushSize) { + totalHeapSize = MutableSegment.DEEP_OVERHEAD + + 3 * oneCellOnCSLMHeapSize; + } else if (oneCellOnCSLMHeapSize + MutableSegment.DEEP_OVERHEAD > inMemoryFlushSize) { + totalHeapSize = MutableSegment.DEEP_OVERHEAD + + CellChunkImmutableSegment.DEEP_OVERHEAD_CCM + + 3 * oneCellOnCCMHeapSize; + } else if (2 * oneCellOnCSLMHeapSize + MutableSegment.DEEP_OVERHEAD > inMemoryFlushSize) { + totalHeapSize = oneCellOnCSLMHeapSize + + MutableSegment.DEEP_OVERHEAD + + CellChunkImmutableSegment.DEEP_OVERHEAD_CCM + + 2 * oneCellOnCCMHeapSize; + } else { + totalHeapSize = MutableSegment.DEEP_OVERHEAD + + CellChunkImmutableSegment.DEEP_OVERHEAD_CCM + + 3 * oneCellOnCCMHeapSize; + } + assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); } -- 2.12.2