Repository: hbase
Updated Branches:
  refs/heads/branch-2 c2e3d5208 -> 514eadbe9


HBASE-19658 make the test testFlatteningToJumboCellChunkMap() stable, by 
eliminating the possibility of third cell to be added while in-memory-flush is 
still in progress


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/514eadbe
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/514eadbe
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/514eadbe

Branch: refs/heads/branch-2
Commit: 514eadbe9503c1162085890a86217a23457eb21d
Parents: c2e3d52
Author: anastas <anas...@yahoo-inc.com>
Authored: Mon Feb 5 11:29:10 2018 +0200
Committer: anastas <anas...@yahoo-inc.com>
Committed: Mon Feb 5 11:29:10 2018 +0200

----------------------------------------------------------------------
 .../TestCompactingToCellFlatMapMemStore.java     | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/514eadbe/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java
----------------------------------------------------------------------
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 0036426..25265b3 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
@@ -754,9 +754,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];
@@ -764,7 +764,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]);
@@ -784,7 +784,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);
     }
@@ -809,12 +809,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());

Reply via email to