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 <va...@pinterest.com> 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 >