@InterfaceAudience.Private public class SimpleBlockCache extends Object implements BlockCache
Modifier and Type | Field and Description |
---|---|
int |
dumps |
Constructor and Description |
---|
SimpleBlockCache()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
cacheBlock(BlockCacheKey cacheKey,
Cacheable block)
Add block to cache (defaults to not in-memory).
|
void |
cacheBlock(BlockCacheKey cacheKey,
Cacheable block,
boolean inMemory)
Add block to cache.
|
boolean |
evictBlock(BlockCacheKey cacheKey)
Evict block from cache.
|
int |
evictBlocksByHfileName(String string)
Evicts all blocks for the given HFile.
|
Cacheable |
getBlock(BlockCacheKey cacheKey,
boolean caching,
boolean repeat)
Fetch block from cache.
|
List<BlockCacheColumnFamilySummary> |
getBlockCacheColumnFamilySummaries(org.apache.hadoop.conf.Configuration conf)
Performs a BlockCache summary and returns a List of BlockCacheColumnFamilySummary objects.
|
long |
getBlockCount()
Returns the number of blocks currently cached in the block cache.
|
long |
getCurrentSize()
Returns the occupied size of the block cache, in bytes.
|
long |
getEvictedCount()
Returns the number of evictions that have occurred.
|
long |
getFreeSize()
Returns the free size of the block cache, in bytes.
|
CacheStats |
getStats()
Get the statistics for this block cache.
|
void |
shutdown()
Shutdown the cache.
|
long |
size()
Returns the total size of the block cache, in bytes.
|
public long size()
BlockCache
size
in interface BlockCache
public Cacheable getBlock(BlockCacheKey cacheKey, boolean caching, boolean repeat)
BlockCache
getBlock
in interface BlockCache
cacheKey
- Block to fetch.caching
- Whether this request has caching enabled (used for stats)repeat
- Whether this is a repeat lookup for the same block
(used to avoid double counting cache misses when doing double-check locking)HFileReaderV2.readBlock(long, long, boolean, boolean, boolean, BlockType)
public void cacheBlock(BlockCacheKey cacheKey, Cacheable block)
BlockCache
cacheBlock
in interface BlockCache
cacheKey
- The block's cache key.block
- The object to cache.public void cacheBlock(BlockCacheKey cacheKey, Cacheable block, boolean inMemory)
BlockCache
cacheBlock
in interface BlockCache
cacheKey
- The block's cache key.block
- The block contents wrapped in a ByteBuffer.inMemory
- Whether block should be treated as in-memorypublic boolean evictBlock(BlockCacheKey cacheKey)
BlockCache
evictBlock
in interface BlockCache
cacheKey
- Block to evictpublic void shutdown()
BlockCache
shutdown
in interface BlockCache
public CacheStats getStats()
BlockCache
getStats
in interface BlockCache
public long getFreeSize()
BlockCache
getFreeSize
in interface BlockCache
public long getCurrentSize()
BlockCache
getCurrentSize
in interface BlockCache
public long getEvictedCount()
BlockCache
getEvictedCount
in interface BlockCache
public int evictBlocksByHfileName(String string)
BlockCache
evictBlocksByHfileName
in interface BlockCache
public List<BlockCacheColumnFamilySummary> getBlockCacheColumnFamilySummaries(org.apache.hadoop.conf.Configuration conf)
BlockCache
getBlockCacheColumnFamilySummaries
in interface BlockCache
conf
- HBaseConfigurationpublic long getBlockCount()
BlockCache
getBlockCount
in interface BlockCache
Copyright © 2013 The Apache Software Foundation. All rights reserved.