stack commented on HBASE-16650:

Looking at the patch, can we update the description for the metric to explain 
we DO NOT include evictions because an hfile was removed. Can do on commit.

Is it right putting code under this check:          if 
(evictedByEvictionProcess) {

We are setting some flags in this block that are used later. Do we need those 
flags when an eviction because an hfile has been removed?

This is ugly but we are already keeping blockcache in a global.... when we fix 
this, we can fix this new addition:

  private static LruBlockCache GLOBAL_L1_CACHE_INSTANCE;

Otherwise, +1.

> Wrong usage of BlockCache eviction stat for heap memory tuning
> --------------------------------------------------------------
>                 Key: HBASE-16650
>                 URL: https://issues.apache.org/jira/browse/HBASE-16650
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 1.0.0
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0, 1.4.0
>         Attachments: HBASE-16650.patch
> 1. We use the stat evictedBlocksCount - A block can get evicted because of 
> eviction thread due to lack of space or because of removal of an HFile itself 
> (After a compaction). We should not consider the latter in the tune decision 
> at all. These are actually invalidation of blocks. Should the stat counter 
> itself not use this count of evicted blocks? I think yes. This will give 
> wrong message to users that there are lot of real eviction happening.
> 2. In case L1+ L2 combined block cache, what we use is the sum of evictions 
> from both. But we will be tuning L1 size alone. Eviction count from L2 should 
> not affect the tuning of L1

This message was sent by Atlassian JIRA

Reply via email to