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.conf.ConfigurationObserver,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
FieldsModifier and TypeFieldDescriptionprivate final AtomicIntegerprivate static final Stringprivate static final Stringprivate final CyclicBarrierprivate final AtomicIntegerprivate static final Stringprivate final CyclicBarrierprivate org.apache.hadoop.hbase.nio.ByteBuffprivate final CyclicBarrierprivate final AtomicIntegerprivate final CyclicBarrierThis is used forBucketCache.WriterThread,CACHE_BLOCK_THREAD_NAMEandEVICT_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_ACCEPT_FACTOR, DEFAULT_BACKING_MAP_PERSISTENCE_CHUNK_SIZE, DEFAULT_ERROR_TOLERATION_DURATION, DEFAULT_EXTRA_FREE_FACTOR, DEFAULT_FREE_ENTIRE_BLOCK_FACTOR, 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
ConstructorsConstructorDescriptionMyBucketCache2(String ioEngineName, long capacity, int blockSize, int[] bucketSizes, int writerThreadNum, int writerQLen, String persistencePath) -
Method Summary
Modifier and TypeMethodDescription(package private) voidblockEvicted(org.apache.hadoop.hbase.io.hfile.BlockCacheKey cacheKey, org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry, boolean decrementBlockNumber, boolean evictedByEvictionProcess) (package private) voiddoDrain(List<org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMQueueEntry> entries, ByteBuffer metaBuff) (package private) voidfreeBucketEntry(org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry) Overwrite 0xff to theBucketEntrycontent to simulate it would be overwrite after theBucketEntryis freed.org.apache.hadoop.hbase.io.hfile.CacheablegetBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey key, boolean caching, boolean repeat, boolean updateCacheMetrics) protected voidputIntoBackingMap(org.apache.hadoop.hbase.io.hfile.BlockCacheKey key, org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry) protected booleanremoveFromRamCache(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, getBucketcachePersistInterval, getCurrentDataSize, getCurrentSize, getDataBlockCount, getExtraFreeFactor, getFreeSize, getFullyCachedFiles, getIoEngine, getMaxSize, getMemoryFactor, getMinFactor, getMultiFactor, getPartitionSize, getPersistenceChunkSize, getPersistencePath, getQueueAdditionWaitTime, getRAMQueueEntries, getRealCacheSize, getRegionCachedInfo, getRpcRefCount, getSingleFactor, getStats, heapSize, isAlreadyCached, isCacheEnabled, isCacheInconsistent, isCacheInitialized, isCachePersistenceEnabled, isCachePersistent, iterator, logStats, notifyFileCachingCompleted, onConfigurationChange, persistToFile, setCacheInconsistent, setCacheState, shouldCacheBlock, shouldCacheFile, shouldReplaceExistingCacheBlock, shutdown, size, startBucketCachePersisterThread, startWriterThreads, stopWriterThreads, waitForCacheInitializationMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.hbase.io.hfile.BlockCache
getBlock, isMetaBlockMethods 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_NAMEandEVICT_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:
putIntoBackingMapin 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:
doDrainin 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:
getBlockin interfaceorg.apache.hadoop.hbase.io.hfile.BlockCache- Overrides:
getBlockin classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
removeFromRamCache
- Overrides:
removeFromRamCachein 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:
blockEvictedin classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-
freeBucketEntry
Overwrite 0xff to theBucketEntrycontent to simulate it would be overwrite after theBucketEntryis freed.- Overrides:
freeBucketEntryin classorg.apache.hadoop.hbase.io.hfile.bucket.BucketCache
-