Since i am using only 10 % of allocated cache, I think EvictionThread never ran - hence, I see the value 0. What's mysterious is who is calling evictBlock then, because there are non zero evicted blocks ?
On Sat, Jan 26, 2013 at 9:24 PM, Ted Yu <[email protected]> wrote: > Evicted block count stat is gathered in: > > protected long evictBlock(CachedBlock block) { > > map.remove(block.getCacheKey()); > > updateSizeMetrics(block, true); > > elements.decrementAndGet(); > > stats.evicted(); > > In EvictionThread#run(): > > LruBlockCache cache = this.cache.get(); > > if(cache == null) break; > > cache.evict(); > > where cache is declared: > > private WeakReference<LruBlockCache> cache; > > Looks like cache became null (due to heap pressure), leading to 0 evictions > that you saw. > > > Cheers > > > On Sat, Jan 26, 2013 at 7:05 PM, Varun Sharma <[email protected]> wrote: > > > Hi, > > > > I am running hbase 0.94.3 and I am trying to understand the LRU cache > stats > > here: > > > > LRU Stats: total=428.75 MB, free=4.05 GB, max=4.46 GB, blocks=35961, > > accesses=23808283, hits=23098837, hitRatio=97.02%, > > cachingAccesses=23135166, cachingHits=23066278, > > cachingHitsRatio=99.70%, *evictions=0, > > evicted=33211* > > * > > * > > I don't understanding why the number of evictions is 0 - which means that > > the number of eviction thread runs is 0, AFAIK. Also, I see that 30K > blocks > > were evicted - how is that possible ? I have set the hfile evict on close > > to the default value - which is false - so blocks should not be evicted > > when hfiles are closed. Where are the evicted blocks coming from when the > > block is mostly empty and no eviction runs have occured. > > > > Thanks > > Varun > > >
