hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arjen Roodselaar (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-10291) Schema aware L2 BucketCache metrics
Date Tue, 07 Jan 2014 21:22:51 GMT
Arjen Roodselaar created HBASE-10291:

             Summary: Schema aware L2 BucketCache metrics
                 Key: HBASE-10291
                 URL: https://issues.apache.org/jira/browse/HBASE-10291
             Project: HBase
          Issue Type: New Feature
          Components: regionserver
    Affects Versions: 0.89-fb
            Reporter: Arjen Roodselaar
            Assignee: Arjen Roodselaar
            Priority: Minor
             Fix For: 0.89-fb

This patch adds per-column family L2 cache metrics. In order to make this happen the following
needed to change:

The L2 cache deals with raw block data. However, in order to keep the size metrics for different
CF's and block types valid the cache needs to know about the block type. In the BlockCache
this is achieved by making the HFileBlock implement SchemaAware and augment the HFileBlock
with the appropriate data before adding it to the cache. In order to do the same for the L2
cache RawHFileBlock were added, and the BucketEntry was made to implement SchemaAware.

This led to an interesting problem, as the L2 cache is possibly used by readers and writers
who do not have the SchemaAware data. In order to work around this a lightweight facade wrapping
CacheConfig and the L2 cache can be instantiated and passed down instead of the actual L2
cache object. This L2CacheAgent is SchemaAware and can add the schema data to the RawHFileBlock's
before handing them over to the cache. I feel the L2CacheAgent is still a work in progress
as it could potentially centralize the cache policy and allow all cache decisions to be removed
from HFile- and block readers and writers.

This message was sent by Atlassian JIRA

View raw message