Class TestBucketCacheRefCnt.MyBucketCache
java.lang.Object
org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
org.apache.hadoop.hbase.io.hfile.bucket.TestBucketCacheRefCnt.MyBucketCache
- All Implemented Interfaces:
Iterable<org.apache.hadoop.hbase.io.hfile.CachedBlock>
,org.apache.hadoop.hbase.io.HeapSize
,org.apache.hadoop.hbase.io.hfile.BlockCache
- Enclosing class:
- TestBucketCacheRefCnt
static class TestBucketCacheRefCnt.MyBucketCache
extends org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMCache, org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMQueueEntry, org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.WriterThread
-
Field Summary
Modifier and TypeFieldDescriptionprivate final AtomicInteger
private static final String
private final CyclicBarrier
private final AtomicInteger
private static final String
private org.apache.hadoop.hbase.nio.ByteBuff
private final AtomicInteger
Fields inherited from class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
ACCEPT_FACTOR_CONFIG_NAME, backingMap, blocksByHFile, DEFAULT_ERROR_TOLERATION_DURATION, DEFAULT_MEMORY_FACTOR, DEFAULT_MIN_FACTOR, DEFAULT_MULTI_FACTOR, DEFAULT_SINGLE_FACTOR, DEFAULT_WRITER_QUEUE_ITEMS, DEFAULT_WRITER_THREADS, EXTRA_FREE_FACTOR_CONFIG_NAME, fullyCachedFiles, ioEngine, isCacheInconsistent, MEMORY_FACTOR_CONFIG_NAME, MIN_FACTOR_CONFIG_NAME, MULTI_FACTOR_CONFIG_NAME, offsetLock, ramCache, regionCachedSizeMap, SINGLE_FACTOR_CONFIG_NAME, writerQueues, writerThreads
-
Constructor Summary
ConstructorDescriptionMyBucketCache
(String ioEngineName, long capacity, int blockSize, int[] bucketSizes, int writerThreadNum, int writerQLen, String persistencePath) -
Method Summary
Modifier and TypeMethodDescription(package private) void
blockEvicted
(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry, boolean decrementBlockNumber, boolean evictedByEvictionProcess) protected void
cacheBlockWithWaitInternal
(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.Cacheable cachedItem, boolean inMemory, boolean wait) (package private) void
freeBucketEntry
(org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry) Overwrite 0xff to theBucketEntry
content to simulate it would be overwrite after theBucketEntry
is freed.org.apache.hadoop.hbase.io.hfile.Cacheable
getBlock
(org.apache.hadoop.hbase.io.hfile.BlockCacheKey key, boolean caching, boolean repeat, boolean updateCacheMetrics) protected boolean
shouldReplaceExistingCacheBlock
(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.Cacheable newBlock) Simulate the Block could be replaced.Methods inherited from class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
acceptableSize, blockFitsIntoTheCache, cacheBlock, cacheBlock, cacheBlock, cacheBlockWithWait, doDrain, evictBlock, evictBlockIfNoRpcReferenced, evictBlocksByHfileName, evictBucketEntryIfNoRpcReferenced, fileCacheCompleted, finalize, freeSpace, getAcceptableFactor, getAlgorithm, getAllocator, getBackingMap, getBackingMapValidated, getBlockCaches, getBlockCount, getBlockSize, getBucketCacheFromCacheConfig, getCurrentDataSize, getCurrentSize, getDataBlockCount, getExtraFreeFactor, getFreeSize, getFullyCachedFiles, getIoEngine, getMaxSize, getMemoryFactor, getMinFactor, getMultiFactor, getPartitionSize, getPersistencePath, getRAMQueueEntries, getRealCacheSize, getRegionCachedInfo, getRpcRefCount, getSingleFactor, getStats, heapSize, isAlreadyCached, isCacheEnabled, isCacheInconsistent, isCachePersistenceEnabled, isCachePersistent, iterator, logStats, notifyFileBlockEvicted, notifyFileCachingCompleted, persistToFile, putIntoBackingMap, removeFromRamCache, setCacheInconsistent, shouldCacheFile, shutdown, size, startBucketCachePersisterThread, startWriterThreads, stopWriterThreads
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.hadoop.hbase.io.hfile.BlockCache
isMetaBlock
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
GET_BLOCK_THREAD_NAME
- See Also:
-
CACHE_BLOCK_THREAD_NAME
- See Also:
-
cyclicBarrier
-
replaceCounter
-
blockEvictCounter
-
freeBucketEntryCounter
-
overwiteByteBuff
-
-
Constructor Details
-
MyBucketCache
public MyBucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes, int writerThreadNum, int writerQLen, String persistencePath) throws IOException - Throws:
IOException
-
-
Method Details
-
shouldReplaceExistingCacheBlock
protected boolean shouldReplaceExistingCacheBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.Cacheable newBlock) Simulate the Block could be replaced.- Overrides:
shouldReplaceExistingCacheBlock
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
getBlock
public org.apache.hadoop.hbase.io.hfile.Cacheable getBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey key, boolean caching, boolean repeat, boolean updateCacheMetrics) - Specified by:
getBlock
in interfaceorg.apache.hadoop.hbase.io.hfile.BlockCache
- Overrides:
getBlock
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
cacheBlockWithWaitInternal
protected void cacheBlockWithWaitInternal(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.Cacheable cachedItem, boolean inMemory, boolean wait) - Overrides:
cacheBlockWithWaitInternal
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
blockEvicted
void blockEvicted(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry, boolean decrementBlockNumber, boolean evictedByEvictionProcess) - Overrides:
blockEvicted
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
freeBucketEntry
Overwrite 0xff to theBucketEntry
content to simulate it would be overwrite after theBucketEntry
is freed.- Overrides:
freeBucketEntry
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-