Class TestBucketCacheRefCnt.MyBucketCache2
java.lang.Object
org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
org.apache.hadoop.hbase.io.hfile.bucket.TestBucketCacheRefCnt.MyBucketCache2
- 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.MyBucketCache2
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.CacheState, 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 static final String
private final CyclicBarrier
private final AtomicInteger
private static final String
private final CyclicBarrier
private org.apache.hadoop.hbase.nio.ByteBuff
private final CyclicBarrier
private final AtomicInteger
private final CyclicBarrier
This is used forBucketCache.WriterThread
,CACHE_BLOCK_THREAD_NAME
andEVICT_BLOCK_THREAD_NAME
,waiting for caching block completed.Fields inherited from class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
ACCEPT_FACTOR_CONFIG_NAME, BACKING_MAP_PERSISTENCE_CHUNK_SIZE, backingMap, BLOCK_ORPHAN_GRACE_PERIOD, BLOCK_ORPHAN_GRACE_PERIOD_DEFAULT, blocksByHFile, DEFAULT_BACKING_MAP_PERSISTENCE_CHUNK_SIZE, 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, QUEUE_ADDITION_WAIT_TIME, ramCache, regionCachedSize, SINGLE_FACTOR_CONFIG_NAME, writerQueues, writerThreads
-
Constructor Summary
ConstructorDescriptionMyBucketCache2
(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) (package private) void
doDrain
(List<org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMQueueEntry> entries, ByteBuffer metaBuff) (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 void
putIntoBackingMap
(org.apache.hadoop.hbase.io.hfile.BlockCacheKey key, org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry) protected boolean
removeFromRamCache
(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey) Methods inherited from class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
acceptableSize, blockFitsIntoTheCache, cacheBlock, cacheBlock, cacheBlock, cacheBlockWithWait, cacheBlockWithWaitInternal, createRecycler, evictBlock, evictBlockIfNoRpcReferenced, evictBlocksByHfileName, evictBlocksRangeByHfileName, evictBucketEntryIfNoRpcReferenced, fileCacheCompleted, finalize, freeSpace, getAcceptableFactor, getAlgorithm, getAllocator, getBackingMap, getBackingMapValidated, getBlockCaches, getBlockCount, getBlockForReference, 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, isCacheInitialized, isCachePersistenceEnabled, isCachePersistent, iterator, logStats, notifyFileCachingCompleted, persistToFile, setCacheInconsistent, setCacheState, shouldCacheFile, shouldReplaceExistingCacheBlock, shutdown, size, startBucketCachePersisterThread, startWriterThreads, stopWriterThreads, waitForCacheInitialization
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
getBlock, isMetaBlock
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
GET_BLOCK_THREAD_NAME
- See Also:
-
CACHE_BLOCK_THREAD_NAME
- See Also:
-
EVICT_BLOCK_THREAD_NAME
- See Also:
-
getCyclicBarrier
-
evictCyclicBarrier
-
putCyclicBarrier
-
writeThreadDoneCyclicBarrier
This is used forBucketCache.WriterThread
,CACHE_BLOCK_THREAD_NAME
andEVICT_BLOCK_THREAD_NAME
,waiting for caching block completed. -
blockEvictCounter
-
removeRamCounter
-
freeBucketEntryCounter
-
overwiteByteBuff
-
-
Constructor Details
-
MyBucketCache2
public MyBucketCache2(String ioEngineName, long capacity, int blockSize, int[] bucketSizes, int writerThreadNum, int writerQLen, String persistencePath) throws IOException - Throws:
IOException
-
-
Method Details
-
putIntoBackingMap
protected void putIntoBackingMap(org.apache.hadoop.hbase.io.hfile.BlockCacheKey key, org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry) - Overrides:
putIntoBackingMap
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
doDrain
void doDrain(List<org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMQueueEntry> entries, ByteBuffer metaBuff) throws InterruptedException - Overrides:
doDrain
in classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
- Throws:
InterruptedException
-
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
-
removeFromRamCache
- Overrides:
removeFromRamCache
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
-