HBASE-16157 Revert - ChiaPing has new fix
This commit is contained in:
parent
d92a99da0e
commit
fe75edb556
|
@ -511,10 +511,7 @@ public class LruBlockCache implements ResizableBlockCache, HeapSize {
|
|||
* @return the heap size of evicted block
|
||||
*/
|
||||
protected long evictBlock(LruCachedBlock block, boolean evictedByEvictionProcess) {
|
||||
boolean found = map.remove(block.getCacheKey()) != null;
|
||||
if (!found) {
|
||||
return 0;
|
||||
}
|
||||
map.remove(block.getCacheKey());
|
||||
updateSizeMetrics(block, true);
|
||||
long val = elements.decrementAndGet();
|
||||
if (LOG.isTraceEnabled()) {
|
||||
|
@ -546,16 +543,6 @@ public class LruBlockCache implements ResizableBlockCache, HeapSize {
|
|||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
boolean isEvictionInProgress() {
|
||||
return evictionInProgress;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
long getOverhead() {
|
||||
return overhead;
|
||||
}
|
||||
|
||||
/**
|
||||
* Eviction method.
|
||||
*/
|
||||
|
|
|
@ -44,34 +44,7 @@ import org.junit.experimental.categories.Category;
|
|||
@Category({IOTests.class, SmallTests.class})
|
||||
public class TestLruBlockCache {
|
||||
|
||||
@Test
|
||||
public void testCurrentSize() throws Exception {
|
||||
long maxSize = 100000;
|
||||
int numBlocks = 9;
|
||||
int testRuns = 10;
|
||||
long blockSize = calculateBlockSizeDefault(maxSize, numBlocks);
|
||||
assertTrue("calculateBlockSize appears broken.", blockSize * numBlocks <= maxSize);
|
||||
|
||||
LruBlockCache cache = new LruBlockCache(maxSize, blockSize);
|
||||
EvictionThread evictionThread = cache.getEvictionThread();
|
||||
assertTrue(evictionThread != null);
|
||||
while (!evictionThread.isEnteringRun()) {
|
||||
Thread.sleep(1);
|
||||
}
|
||||
int blockCount = 0;
|
||||
String hfileName = "hfile";
|
||||
for (int run = 0; run != testRuns; ++run) {
|
||||
while (!cache.isEvictionInProgress()) {
|
||||
CachedItem block = new CachedItem(hfileName, (int) blockSize, blockCount++);
|
||||
boolean inMemory = Math.random() > 0.5;
|
||||
cache.cacheBlock(block.cacheKey, block, inMemory, false);
|
||||
}
|
||||
assertEquals(true, cache.isEvictionInProgress());
|
||||
cache.evictBlocksByHfileName(hfileName);
|
||||
assertEquals(0, cache.getBlockCount());
|
||||
assertEquals(cache.getOverhead(), cache.getCurrentSize());
|
||||
}
|
||||
}
|
||||
@Test
|
||||
public void testBackgroundEvictionThread() throws Exception {
|
||||
long maxSize = 100000;
|
||||
|
@ -812,11 +785,6 @@ public class TestLruBlockCache {
|
|||
BlockCacheKey cacheKey;
|
||||
int size;
|
||||
|
||||
CachedItem(String blockName, int size, int offset) {
|
||||
this.cacheKey = new BlockCacheKey(blockName, offset);
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
CachedItem(String blockName, int size) {
|
||||
this.cacheKey = new BlockCacheKey(blockName, 0);
|
||||
this.size = size;
|
||||
|
|
Loading…
Reference in New Issue