http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java index 5cbfff9..8dbddb9 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java @@ -355,7 +355,7 @@ public class TestCompactingMemStore extends TestDefaultMemStore { private long runSnapshot(final AbstractMemStore hmc, boolean useForce) throws IOException { // Save off old state. - long oldHistorySize = hmc.getSnapshot().keySize(); + long oldHistorySize = hmc.getSnapshot().getDataSize(); long prevTimeStamp = hmc.timeOfOldestEdit(); hmc.snapshot(); @@ -616,9 +616,10 @@ public class TestCompactingMemStore extends TestDefaultMemStore { assertEquals(totalCellsLen, regionServicesForStores.getMemStoreSize()); assertEquals(totalHeapSize, ((CompactingMemStore)memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss); ImmutableSegment s = memstore.getSnapshot(); assertEquals(4, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -667,7 +668,7 @@ public class TestCompactingMemStore extends TestDefaultMemStore { assertEquals(totalCellsLen1 + totalCellsLen2, regionServicesForStores.getMemStoreSize()); assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); ((CompactingMemStore)memstore).flushInMemory(); // push keys to pipeline and compact assertEquals(0, memstore.getSnapshot().getCellsCount()); assertEquals(totalCellsLen1 + totalCellsLen2, regionServicesForStores.getMemStoreSize()); @@ -675,9 +676,10 @@ public class TestCompactingMemStore extends TestDefaultMemStore { + 7 * oneCellOnCAHeapSize; assertEquals(totalHeapSize, ((CompactingMemStore)memstore).heapSize()); - size = memstore.getFlushableSize(); + mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize()); ImmutableSegment s = memstore.getSnapshot(); assertEquals(7, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -722,7 +724,7 @@ public class TestCompactingMemStore extends TestDefaultMemStore { assertEquals(totalHeapSize2, ((CompactingMemStore) memstore).heapSize()); ((MyCompactingMemStore) memstore).disableCompaction(); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); ((CompactingMemStore)memstore).flushInMemory(); // push keys to pipeline without compaction assertEquals(0, memstore.getSnapshot().getCellsCount()); // No change in the cells data size. ie. memstore size. as there is no compaction. @@ -738,7 +740,7 @@ public class TestCompactingMemStore extends TestDefaultMemStore { assertEquals(totalHeapSize3, ((CompactingMemStore) memstore).heapSize()); ((MyCompactingMemStore)memstore).enableCompaction(); - size = memstore.getFlushableSize(); + mss = memstore.getFlushableSize(); ((CompactingMemStore)memstore).flushInMemory(); // push keys to pipeline and compact assertEquals(0, memstore.getSnapshot().getCellsCount()); // active flushed to pipeline and all 3 segments compacted. Will get rid of duplicated cells. @@ -751,9 +753,10 @@ public class TestCompactingMemStore extends TestDefaultMemStore { assertEquals(4 * oneCellOnCAHeapSize + MutableSegment.DEEP_OVERHEAD + CellArrayImmutableSegment.DEEP_OVERHEAD_CAM, ((CompactingMemStore) memstore).heapSize()); - size = memstore.getFlushableSize(); + mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize()); ImmutableSegment s = memstore.getSnapshot(); assertEquals(4, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -811,9 +814,10 @@ public class TestCompactingMemStore extends TestDefaultMemStore { assertTrue(4 == numCells || 11 == numCells); assertEquals(0, memstore.getSnapshot().getCellsCount()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss); ImmutableSegment s = memstore.getSnapshot(); numCells = s.getCellsCount(); assertTrue(4 == numCells || 11 == numCells); @@ -825,8 +829,8 @@ public class TestCompactingMemStore extends TestDefaultMemStore { protected int addRowsByKeys(final AbstractMemStore hmc, String[] keys) { byte[] fam = Bytes.toBytes("testfamily"); byte[] qf = Bytes.toBytes("testqualifier"); - long size = hmc.getActive().keySize(); - long heapOverhead = hmc.getActive().heapSize(); + long size = hmc.getActive().getDataSize(); + long heapOverhead = hmc.getActive().getHeapSize(); int totalLen = 0; for (int i = 0; i < keys.length; i++) { long timestamp = System.currentTimeMillis(); @@ -838,8 +842,8 @@ public class TestCompactingMemStore extends TestDefaultMemStore { hmc.add(kv, null); LOG.debug("added kv: " + kv.getKeyString() + ", timestamp:" + kv.getTimestamp()); } - regionServicesForStores.addMemStoreSize(new MemStoreSize(hmc.getActive().keySize() - size, - hmc.getActive().heapSize() - heapOverhead, 0)); + regionServicesForStores.addMemStoreSize(hmc.getActive().getDataSize() - size, + hmc.getActive().getHeapSize() - heapOverhead, 0); return totalLen; } @@ -847,8 +851,8 @@ public class TestCompactingMemStore extends TestDefaultMemStore { protected int addRowsByKeys(final AbstractMemStore hmc, String[] keys, byte[] val) { byte[] fam = Bytes.toBytes("testfamily"); byte[] qf = Bytes.toBytes("testqualifier"); - long size = hmc.getActive().keySize(); - long heapOverhead = hmc.getActive().heapSize(); + long size = hmc.getActive().getDataSize(); + long heapOverhead = hmc.getActive().getHeapSize(); int totalLen = 0; for (int i = 0; i < keys.length; i++) { long timestamp = System.currentTimeMillis(); @@ -859,8 +863,8 @@ public class TestCompactingMemStore extends TestDefaultMemStore { hmc.add(kv, null); LOG.debug("added kv: " + kv.getKeyString() + ", timestamp:" + kv.getTimestamp()); } - regionServicesForStores.addMemStoreSize(new MemStoreSize(hmc.getActive().keySize() - size, - hmc.getActive().heapSize() - heapOverhead, 0)); + regionServicesForStores.addMemStoreSize(hmc.getActive().getDataSize() - size, + hmc.getActive().getHeapSize() - heapOverhead, 0); return totalLen; }
http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/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 12b078a..e824120 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 @@ -132,9 +132,9 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore counter += s.getCellsCount(); } assertEquals(3, counter); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + region.decrMemStoreSize(mss); // simulate flusher ImmutableSegment s = memstore.getSnapshot(); assertEquals(3, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -194,9 +194,10 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore totalHeapSize2 = 1 * cellAfterFlushSize; assertEquals(totalHeapSize1 + totalHeapSize2, ((CompactingMemStore) memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss); ImmutableSegment s = memstore.getSnapshot(); assertEquals(4, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -224,7 +225,7 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(totalCellsLen1, region.getMemStoreDataSize()); assertEquals(totalHeapSize1, ((CompactingMemStore) memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); ((CompactingMemStore) memstore).flushInMemory(); // push keys to pipeline and compact assertEquals(0, memstore.getSnapshot().getCellsCount()); @@ -245,7 +246,7 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(totalHeapSize1 + totalHeapSize2, ((CompactingMemStore) memstore).heapSize()); ((MyCompactingMemStore) memstore).disableCompaction(); - size = memstore.getFlushableSize(); + mss = memstore.getFlushableSize(); ((CompactingMemStore) memstore).flushInMemory(); // push keys to pipeline without compaction totalHeapSize2 = totalHeapSize2 + CSLMImmutableSegment.DEEP_OVERHEAD_CSLM; assertEquals(0, memstore.getSnapshot().getCellsCount()); @@ -260,7 +261,7 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore ((CompactingMemStore) memstore).heapSize()); ((MyCompactingMemStore) memstore).enableCompaction(); - size = memstore.getFlushableSize(); + mss = memstore.getFlushableSize(); ((CompactingMemStore) memstore).flushInMemory(); // push keys to pipeline and compact while (((CompactingMemStore) memstore).isMemStoreFlushingInMemory()) { Threads.sleep(10); @@ -279,9 +280,10 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore CellArrayImmutableSegment.DEEP_OVERHEAD_CAM); assertEquals(totalHeapSize4, ((CompactingMemStore) memstore).heapSize()); - size = memstore.getFlushableSize(); + mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize()); ImmutableSegment s = memstore.getSnapshot(); assertEquals(4, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -653,9 +655,10 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(totalCellsLen, regionServicesForStores.getMemStoreSize()); assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss); ImmutableSegment s = memstore.getSnapshot(); assertEquals(numOfCells, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -725,9 +728,10 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(totalCellsLen, regionServicesForStores.getMemStoreSize()); assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss); ImmutableSegment s = memstore.getSnapshot(); assertEquals(numOfCells, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -799,9 +803,10 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore assertEquals(totalCellsLen, regionServicesForStores.getMemStoreSize()); assertEquals(totalHeapSize, ((CompactingMemStore) memstore).heapSize()); - MemStoreSize size = memstore.getFlushableSize(); + MemStoreSize mss = memstore.getFlushableSize(); MemStoreSnapshot snapshot = memstore.snapshot(); // push keys to snapshot - region.decrMemStoreSize(size); // simulate flusher + // simulate flusher + region.decrMemStoreSize(mss); ImmutableSegment s = memstore.getSnapshot(); assertEquals(numOfCells, s.getCellsCount()); assertEquals(0, regionServicesForStores.getMemStoreSize()); @@ -893,7 +898,7 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore private long addRowsByKeysDataSize(final AbstractMemStore hmc, String[] keys) { byte[] fam = Bytes.toBytes("testfamily"); byte[] qf = Bytes.toBytes("testqualifier"); - MemStoreSizing memstoreSizing = new MemStoreSizing(); + MemStoreSizing memstoreSizing = new NonThreadSafeMemStoreSizing(); for (int i = 0; i < keys.length; i++) { long timestamp = System.currentTimeMillis(); Threads.sleep(1); // to make sure each kv gets a different ts @@ -903,8 +908,10 @@ public class TestCompactingToCellFlatMapMemStore extends TestCompactingMemStore hmc.add(kv, memstoreSizing); LOG.debug("added kv: " + kv.getKeyString() + ", timestamp" + kv.getTimestamp()); } - regionServicesForStores.addMemStoreSize(memstoreSizing); - return memstoreSizing.getDataSize(); + MemStoreSize mss = memstoreSizing.getMemStoreSize(); + regionServicesForStores.addMemStoreSize(mss.getDataSize(), mss.getHeapSize(), + mss.getOffHeapSize()); + return mss.getDataSize(); } private long cellBeforeFlushSize() { http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java index 6da5ec0..77f796f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java @@ -129,17 +129,18 @@ public class TestDefaultMemStore { public void testPutSameCell() { byte[] bytes = Bytes.toBytes(getName()); KeyValue kv = new KeyValue(bytes, bytes, bytes, bytes); - MemStoreSizing sizeChangeForFirstCell = new MemStoreSizing(); + MemStoreSizing sizeChangeForFirstCell = new NonThreadSafeMemStoreSizing(); this.memstore.add(kv, sizeChangeForFirstCell); - MemStoreSizing sizeChangeForSecondCell = new MemStoreSizing(); + MemStoreSizing sizeChangeForSecondCell = new NonThreadSafeMemStoreSizing(); this.memstore.add(kv, sizeChangeForSecondCell); // make sure memstore size increase won't double-count MSLAB chunk size - assertEquals(Segment.getCellLength(kv), sizeChangeForFirstCell.getDataSize()); + assertEquals(Segment.getCellLength(kv), sizeChangeForFirstCell.getMemStoreSize().getDataSize()); Segment segment = this.memstore.getActive(); MemStoreLAB msLab = segment.getMemStoreLAB(); if (msLab != null) { // make sure memstore size increased even when writing the same cell, if using MSLAB - assertEquals(Segment.getCellLength(kv), sizeChangeForSecondCell.getDataSize()); + assertEquals(Segment.getCellLength(kv), + sizeChangeForSecondCell.getMemStoreSize().getDataSize()); // make sure chunk size increased even when writing the same cell, if using MSLAB if (msLab instanceof MemStoreLABImpl) { // since we add the chunkID at the 0th offset of the chunk and the @@ -149,8 +150,8 @@ public class TestDefaultMemStore { } } else { // make sure no memstore size change w/o MSLAB - assertEquals(0, sizeChangeForSecondCell.getDataSize()); - assertEquals(0, sizeChangeForSecondCell.getHeapSize()); + assertEquals(0, sizeChangeForSecondCell.getMemStoreSize().getDataSize()); + assertEquals(0, sizeChangeForSecondCell.getMemStoreSize().getHeapSize()); } } http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java ---------------------------------------------------------------------- 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 3526689..73c88d2 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 @@ -361,8 +361,9 @@ public class TestHRegion { } finally { assertTrue("The regionserver should have thrown an exception", threwIOE); } - long sz = store.getFlushableSize().getDataSize(); - assertTrue("flushable size should be zero, but it is " + sz, sz == 0); + MemStoreSize mss = store.getFlushableSize(); + assertTrue("flushable size should be zero, but it is " + mss, + mss.getDataSize() == 0); HBaseTestingUtility.closeRegionAndWAL(region); } @@ -414,9 +415,10 @@ public class TestHRegion { } catch (IOException expected) { } long expectedSize = onePutSize * 2; - assertEquals("memstoreSize should be incremented", expectedSize, region.getMemStoreDataSize()); - assertEquals("flushable size should be incremented", expectedSize, - store.getFlushableSize().getDataSize()); + assertEquals("memstoreSize should be incremented", + expectedSize, region.getMemStoreDataSize()); + assertEquals("flushable size should be incremented", + expectedSize, store.getFlushableSize().getDataSize()); region.setCoprocessorHost(null); HBaseTestingUtility.closeRegionAndWAL(region); http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java index d06c1af..3b4ce50 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java @@ -367,7 +367,7 @@ public class TestHRegionReplayEvents { HStore store = secondaryRegion.getStore(Bytes.toBytes("cf1")); long storeMemstoreSize = store.getMemStoreSize().getHeapSize(); long regionMemstoreSize = secondaryRegion.getMemStoreDataSize(); - long storeFlushableSize = store.getFlushableSize().getHeapSize(); + MemStoreSize mss = store.getFlushableSize(); long storeSize = store.getSize(); long storeSizeUncompressed = store.getStoreSizeUncompressed(); if (flushDesc.getAction() == FlushAction.START_FLUSH) { @@ -391,8 +391,8 @@ public class TestHRegionReplayEvents { for (HStore s : secondaryRegion.getStores()) { assertEquals(expectedStoreFileCount, s.getStorefilesCount()); } - long newFlushableSize = store.getFlushableSize().getHeapSize(); - assertTrue(storeFlushableSize > newFlushableSize); + MemStoreSize newMss = store.getFlushableSize(); + assertTrue(mss.getHeapSize() > newMss.getHeapSize()); // assert that the region memstore is smaller now long newRegionMemstoreSize = secondaryRegion.getMemStoreDataSize(); @@ -466,7 +466,7 @@ public class TestHRegionReplayEvents { HStore store = secondaryRegion.getStore(Bytes.toBytes("cf1")); long storeMemstoreSize = store.getMemStoreSize().getHeapSize(); long regionMemstoreSize = secondaryRegion.getMemStoreDataSize(); - long storeFlushableSize = store.getFlushableSize().getHeapSize(); + MemStoreSize mss = store.getFlushableSize(); if (flushDesc.getAction() == FlushAction.START_FLUSH) { startFlushDesc = flushDesc; @@ -475,7 +475,7 @@ public class TestHRegionReplayEvents { assertNull(result.result); assertEquals(result.flushOpSeqId, startFlushDesc.getFlushSequenceNumber()); assertTrue(regionMemstoreSize > 0); - assertTrue(storeFlushableSize > 0); + assertTrue(mss.getHeapSize() > 0); // assert that the store memstore is smaller now long newStoreMemstoreSize = store.getMemStoreSize().getHeapSize(); @@ -616,8 +616,8 @@ public class TestHRegionReplayEvents { assertEquals(expectedStoreFileCount, s.getStorefilesCount()); } HStore store = secondaryRegion.getStore(Bytes.toBytes("cf1")); - long newFlushableSize = store.getFlushableSize().getHeapSize(); - assertTrue(newFlushableSize > 0); // assert that the memstore is not dropped + MemStoreSize mss = store.getFlushableSize(); + assertTrue(mss.getHeapSize() > 0); // assert that the memstore is not dropped // assert that the region memstore is same as before long newRegionMemstoreSize = secondaryRegion.getMemStoreDataSize(); @@ -706,8 +706,8 @@ public class TestHRegionReplayEvents { assertEquals(expectedStoreFileCount, s.getStorefilesCount()); } HStore store = secondaryRegion.getStore(Bytes.toBytes("cf1")); - long newFlushableSize = store.getFlushableSize().getHeapSize(); - assertTrue(newFlushableSize > 0); // assert that the memstore is not dropped + MemStoreSize mss = store.getFlushableSize(); + assertTrue(mss.getHeapSize() > 0); // assert that the memstore is not dropped // assert that the region memstore is smaller than before, but not empty long newRegionMemstoreSize = secondaryRegion.getMemStoreDataSize(); @@ -811,12 +811,12 @@ public class TestHRegionReplayEvents { assertEquals(expectedStoreFileCount, s.getStorefilesCount()); } HStore store = secondaryRegion.getStore(Bytes.toBytes("cf1")); - long newFlushableSize = store.getFlushableSize().getHeapSize(); + MemStoreSize mss = store.getFlushableSize(); if (droppableMemstore) { // assert that the memstore is dropped - assertTrue(newFlushableSize == MutableSegment.DEEP_OVERHEAD); + assertTrue(mss.getHeapSize() == MutableSegment.DEEP_OVERHEAD); } else { - assertTrue(newFlushableSize > 0); // assert that the memstore is not dropped + assertTrue(mss.getHeapSize() > 0); // assert that the memstore is not dropped } // assert that the region memstore is same as before (we could not drop) @@ -903,8 +903,8 @@ public class TestHRegionReplayEvents { assertEquals(expectedStoreFileCount, s.getStorefilesCount()); } HStore store = secondaryRegion.getStore(Bytes.toBytes("cf1")); - long newFlushableSize = store.getFlushableSize().getHeapSize(); - assertTrue(newFlushableSize == MutableSegment.DEEP_OVERHEAD); + MemStoreSize mss = store.getFlushableSize(); + assertTrue(mss.getHeapSize() == MutableSegment.DEEP_OVERHEAD); // assert that the region memstore is empty long newRegionMemstoreSize = secondaryRegion.getMemStoreDataSize(); http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.java index dfe52d0..ce83326 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.java @@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory; */ @Category({VerySlowRegionServerTests.class, LargeTests.class}) @SuppressWarnings("deprecation") -public class TestHRegionWithInMemoryFlush extends TestHRegion{ +public class TestHRegionWithInMemoryFlush extends TestHRegion { @ClassRule public static final HBaseClassTestRule CLASS_RULE = http://git-wip-us.apache.org/repos/asf/hbase/blob/021f66d1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java index 8dadd9b..6803003 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java @@ -240,8 +240,7 @@ public class TestHStore { */ @Test public void testFlushSizeSizing() throws Exception { - LOG.info("Setting up a faulty file system that cannot write in " + - this.name.getMethodName()); + LOG.info("Setting up a faulty file system that cannot write in " + this.name.getMethodName()); final Configuration conf = HBaseConfiguration.create(TEST_UTIL.getConfiguration()); // Only retry once. conf.setInt("hbase.hstore.flush.retries.number", 1); @@ -260,15 +259,15 @@ public class TestHStore { // Initialize region init(name.getMethodName(), conf); - MemStoreSize size = store.memstore.getFlushableSize(); - assertEquals(0, size.getDataSize()); + MemStoreSize mss = store.memstore.getFlushableSize(); + assertEquals(0, mss.getDataSize()); LOG.info("Adding some data"); - MemStoreSizing kvSize = new MemStoreSizing(); + MemStoreSizing kvSize = new NonThreadSafeMemStoreSizing(); store.add(new KeyValue(row, family, qf1, 1, (byte[]) null), kvSize); // add the heap size of active (mutable) segment kvSize.incMemStoreSize(0, MutableSegment.DEEP_OVERHEAD, 0); - size = store.memstore.getFlushableSize(); - assertEquals(kvSize, size); + mss = store.memstore.getFlushableSize(); + assertEquals(kvSize.getMemStoreSize(), mss); // Flush. Bug #1 from HBASE-10466. Make sure size calculation on failed flush is right. try { LOG.info("Flushing"); @@ -280,23 +279,23 @@ public class TestHStore { // due to snapshot, change mutable to immutable segment kvSize.incMemStoreSize(0, CSLMImmutableSegment.DEEP_OVERHEAD_CSLM-MutableSegment.DEEP_OVERHEAD, 0); - size = store.memstore.getFlushableSize(); - assertEquals(kvSize, size); - MemStoreSizing kvSize2 = new MemStoreSizing(); + mss = store.memstore.getFlushableSize(); + assertEquals(kvSize.getMemStoreSize(), mss); + MemStoreSizing kvSize2 = new NonThreadSafeMemStoreSizing(); store.add(new KeyValue(row, family, qf2, 2, (byte[])null), kvSize2); kvSize2.incMemStoreSize(0, MutableSegment.DEEP_OVERHEAD, 0); // Even though we add a new kv, we expect the flushable size to be 'same' since we have // not yet cleared the snapshot -- the above flush failed. - assertEquals(kvSize, size); + assertEquals(kvSize.getMemStoreSize(), mss); ffs.fault.set(false); flushStore(store, id++); - size = store.memstore.getFlushableSize(); + mss = store.memstore.getFlushableSize(); // Size should be the foreground kv size. - assertEquals(kvSize2, size); + assertEquals(kvSize2.getMemStoreSize(), mss); flushStore(store, id++); - size = store.memstore.getFlushableSize(); - assertEquals(0, size.getDataSize()); - assertEquals(MutableSegment.DEEP_OVERHEAD, size.getHeapSize()); + mss = store.memstore.getFlushableSize(); + assertEquals(0, mss.getDataSize()); + assertEquals(MutableSegment.DEEP_OVERHEAD, mss.getHeapSize()); return null; } }); @@ -1226,7 +1225,7 @@ public class TestHStore { byte[] value0 = Bytes.toBytes("value0"); byte[] value1 = Bytes.toBytes("value1"); byte[] value2 = Bytes.toBytes("value2"); - MemStoreSizing memStoreSizing = new MemStoreSizing(); + MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing(); long ts = EnvironmentEdgeManager.currentTime(); long seqId = 100; init(name.getMethodName(), conf, TableDescriptorBuilder.newBuilder(TableName.valueOf(table)), @@ -1285,7 +1284,7 @@ public class TestHStore { init(name.getMethodName(), conf, ColumnFamilyDescriptorBuilder.newBuilder(family) .setInMemoryCompaction(MemoryCompactionPolicy.BASIC).build()); byte[] value = Bytes.toBytes("value"); - MemStoreSizing memStoreSizing = new MemStoreSizing(); + MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing(); long ts = EnvironmentEdgeManager.currentTime(); long seqId = 100; // older data whihc shouldn't be "seen" by client @@ -1363,7 +1362,7 @@ public class TestHStore { }); byte[] oldValue = Bytes.toBytes("oldValue"); byte[] currentValue = Bytes.toBytes("currentValue"); - MemStoreSizing memStoreSizing = new MemStoreSizing(); + MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing(); long ts = EnvironmentEdgeManager.currentTime(); long seqId = 100; // older data whihc shouldn't be "seen" by client @@ -1479,7 +1478,7 @@ public class TestHStore { init(name.getMethodName(), conf, ColumnFamilyDescriptorBuilder.newBuilder(family) .setInMemoryCompaction(MemoryCompactionPolicy.BASIC).build()); byte[] value = Bytes.toBytes("thisisavarylargevalue"); - MemStoreSizing memStoreSizing = new MemStoreSizing(); + MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing(); long ts = EnvironmentEdgeManager.currentTime(); long seqId = 100; // older data whihc shouldn't be "seen" by client @@ -1601,7 +1600,7 @@ public class TestHStore { conf.setLong(StoreScanner.STORESCANNER_PREAD_MAX_BYTES, 0); // Set the lower threshold to invoke the "MERGE" policy MyStore store = initMyStore(name.getMethodName(), conf, new MyStoreHook() {}); - MemStoreSizing memStoreSizing = new MemStoreSizing(); + MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing(); long ts = System.currentTimeMillis(); long seqID = 1L; // Add some data to the region and do some flushes
