You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2018/05/12 13:11:03 UTC
[07/34] hbase git commit: HBASE-20411 Ameliorate MutableSegment
synchronize
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