hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "chunhui shen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10752) Port HBASE-10270 'Remove DataBlockEncoding from BlockCacheKey' to trunk
Date Wed, 19 Mar 2014 01:51:43 GMT

    [ https://issues.apache.org/jira/browse/HBASE-10752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13940057#comment-13940057

chunhui shen commented on HBASE-10752:

bq.I thought one issue was that after a schema change we might not have evicted all blocks
when we scan the next time. So we'll have a scanner that does not understand the encoding.
It won't happen.  When reading, DataBlockEncoding information is recored in HFile, rather
than decided by table schema.

+  public boolean useEncodedScanner(boolean isCompaction) {
+    if (isCompaction && encoding == DataBlockEncoding.NONE) {
+      return false;
+    }
+    return encoding != DataBlockEncoding.NONE;
+  }
It seems equal to 
+  public boolean useEncodedScanner(boolean isCompaction) {
+    return encoding != DataBlockEncoding.NONE;
+  }

> Port HBASE-10270 'Remove DataBlockEncoding from BlockCacheKey' to trunk
> -----------------------------------------------------------------------
>                 Key: HBASE-10752
>                 URL: https://issues.apache.org/jira/browse/HBASE-10752
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Minor
>             Fix For: 0.99.0
>         Attachments: 10752-v1.txt, 10752-v2.txt, 10752-v3.txt, 10752-v4.txt
> The JIRA removes the block encoding from the key and forces the caller of HFileReaderV2.readBlock()
to specify the expected BlockType as well as the expected DataBlockEncoding when these matter.
This allows for a decision on either of these at read time instead of cache time, puts responsibility
where appropriate, fixes some cache misses when using the scan preloading (which does a read
without knowing the type or encoding), allows for the BlockCacheKey to be re-used by the L2
BucketCache and sets us up for a future CompoundScannerV2 which can read both un-encoded and
encoded data blocks.

This message was sent by Atlassian JIRA

View raw message