|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.io.hfile.DoubleBlockCache
BucketCache.
@InterfaceAudience.Private @Deprecated public class DoubleBlockCache
DoubleBlockCache is an abstraction layer that combines two caches, the smaller onHeapCache and the larger offHeapCache. CacheBlock attempts to cache the block in both caches, while readblock reads first from the faster on heap cache before looking for the block in the off heap cache. Metrics are the combined size and hits and misses of both caches.
| Constructor Summary | |
|---|---|
DoubleBlockCache(long onHeapSize,
long offHeapSize,
long onHeapBlockSize,
long offHeapBlockSize,
org.apache.hadoop.conf.Configuration conf)
Deprecated. Default constructor. |
|
| Method Summary | |
|---|---|
void |
cacheBlock(BlockCacheKey cacheKey,
Cacheable buf)
Deprecated. Add block to cache (defaults to not in-memory). |
void |
cacheBlock(BlockCacheKey cacheKey,
Cacheable buf,
boolean inMemory)
Deprecated. Add block to cache. |
boolean |
evictBlock(BlockCacheKey cacheKey)
Deprecated. Evict block from cache. |
int |
evictBlocksByHfileName(String hfileName)
Deprecated. Evicts all blocks for the given HFile. |
Cacheable |
getBlock(BlockCacheKey cacheKey,
boolean caching,
boolean repeat,
boolean updateCacheMetrics)
Deprecated. Fetch block from cache. |
BlockCache[] |
getBlockCaches()
Deprecated. |
long |
getBlockCount()
Deprecated. Returns the number of blocks currently cached in the block cache. |
long |
getCurrentSize()
Deprecated. Returns the occupied size of the block cache, in bytes. |
long |
getFreeSize()
Deprecated. Returns the free size of the block cache, in bytes. |
CacheStats |
getStats()
Deprecated. Get the statistics for this block cache. |
long |
heapSize()
Deprecated. |
Iterator<CachedBlock> |
iterator()
Deprecated. |
void |
shutdown()
Deprecated. Shutdown the cache. |
long |
size()
Deprecated. Returns the total size of the block cache, in bytes. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DoubleBlockCache(long onHeapSize,
long offHeapSize,
long onHeapBlockSize,
long offHeapBlockSize,
org.apache.hadoop.conf.Configuration conf)
All other factors will be calculated based on defaults specified in this class.
onHeapSize - maximum size of the onHeapCache, in bytes.offHeapSize - maximum size of the offHeapCache, in bytes.onHeapBlockSize - average block size of the on heap cache.offHeapBlockSize - average block size for the off heap cacheconf - configuration file. currently used only by the off heap cache.| Method Detail |
|---|
public void cacheBlock(BlockCacheKey cacheKey,
Cacheable buf,
boolean inMemory)
BlockCache
cacheBlock in interface BlockCachecacheKey - The block's cache key.buf - The block contents wrapped in a ByteBuffer.inMemory - Whether block should be treated as in-memory
public void cacheBlock(BlockCacheKey cacheKey,
Cacheable buf)
BlockCache
cacheBlock in interface BlockCachecacheKey - The block's cache key.buf - The object to cache.
public Cacheable getBlock(BlockCacheKey cacheKey,
boolean caching,
boolean repeat,
boolean updateCacheMetrics)
BlockCache
getBlock in interface BlockCachecacheKey - 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)updateCacheMetrics - Whether to update cache metrics or not
public boolean evictBlock(BlockCacheKey cacheKey)
BlockCache
evictBlock in interface BlockCachecacheKey - Block to evict
public CacheStats getStats()
BlockCache
getStats in interface BlockCachepublic void shutdown()
BlockCache
shutdown in interface BlockCachepublic long heapSize()
heapSize in interface HeapSizepublic long size()
BlockCache
size in interface BlockCachepublic long getFreeSize()
BlockCache
getFreeSize in interface BlockCachepublic long getCurrentSize()
BlockCache
getCurrentSize in interface BlockCachepublic int evictBlocksByHfileName(String hfileName)
BlockCache
evictBlocksByHfileName in interface BlockCachepublic long getBlockCount()
BlockCache
getBlockCount in interface BlockCachepublic Iterator<CachedBlock> iterator()
iterator in interface Iterable<CachedBlock>iterator in interface BlockCachepublic BlockCache[] getBlockCaches()
getBlockCaches in interface BlockCache
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||