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

    Fields
    Modifier and Type
    Field
    Description
    private 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, regionCachedSize, SINGLE_FACTOR_CONFIG_NAME, writerQueues, writerThreads
  • Constructor Summary

    Constructors
    Constructor
    Description
    MyBucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes, int writerThreadNum, int writerQLen, String persistencePath)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (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 the BucketEntry content to simulate it would be overwrite after the BucketEntry 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, 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, isCachePersistenceEnabled, isCachePersistent, iterator, logStats, 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

    getBlock, isMetaBlock

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

  • Constructor Details

  • 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 class org.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 interface org.apache.hadoop.hbase.io.hfile.BlockCache
      Overrides:
      getBlock in class org.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 class org.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 class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache
    • freeBucketEntry

      void freeBucketEntry(org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry bucketEntry)
      Overwrite 0xff to the BucketEntry content to simulate it would be overwrite after the BucketEntry is freed.
      Overrides:
      freeBucketEntry in class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache