hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stack <st...@duboce.net>
Subject Re: [DISCUSS] Should L2 cache be strictly L2 by default
Date Thu, 17 Aug 2017 19:42:26 GMT
Some more info, when COMBINED=false, this is what happens:

// L1 and L2 are not 'combined'. They are connected via the LruBlockCache
// mechanism. It is a little ugly but works according to the following:
when the
// background eviction thread runs, blocks evicted from L1 will go to L2
AND when we get
// a block from the L1 cache, if not in L1, we will search L2.

For me, I'd be interested in seeing perf compare. IIRC, when NOT combined,
data blocks coming up into L1 and the being 'victim handled' -- evicted ==
copied -- out to L2 was costly.


On Thu, Aug 17, 2017 at 11:23 AM, Biju N <bijuatapache@gmail.com> wrote:

> Currently BUCKET_CACHE_COMBINED_KEY is set to "true" by default  [1] which
> makes L2 cache not strictly L2 cache. From the usability perspective, it is
> better to set BUCKET_CACHE_COMBINED_KEY  to "false" so that L2 cache would
> behave strictly L2 and also use the L1 cache to store data blocks improving
> memory use. Thoughts?
> Thanks,
> Biju
> [1]
> https://github.com/apache/hbase/blob/84d7318f86305f34102502a70d7182
> 23320590d5/hbase-server/src/main/java/org/apache/hadoop/
> hbase/io/hfile/CacheConfig.java#L112

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message