IIRC when a file closes it will evict its own blocks since they won't
be used after that.

J-D

On Sun, Jan 27, 2013 at 1:04 AM, Varun Sharma <va...@pinterest.com> wrote:
> 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 <yuzhih...@gmail.com> 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 <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
>> >
>>

Reply via email to