hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9870) HFileDataBlockEncoderImpl#diskToCacheFormat uses wrong format
Date Fri, 01 Nov 2013 06:31:21 GMT

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

stack commented on HBASE-9870:
------------------------------

[~anoop.hbase] for my understanding, when you say 'the existing data', do you mean data that
has already been loaded into the block cache or do you mean something else?  (Changing the
encoding, you have to offline the region?).  Or is 'existing data' something else?  Won't
the data in hfiles be properly converted from old encoding to new?   Thanks.

> HFileDataBlockEncoderImpl#diskToCacheFormat uses wrong format
> -------------------------------------------------------------
>
>                 Key: HBASE-9870
>                 URL: https://issues.apache.org/jira/browse/HBASE-9870
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jimmy Xiang
>
> In this method, we have
> {code}
>     if (block.getBlockType() == BlockType.ENCODED_DATA) {
>       if (block.getDataBlockEncodingId() == onDisk.getId()) {
>         // The block is already in the desired in-cache encoding.
>         return block;
>       }
> {code}
> This assumes onDisk encoding is the same as that of inCache.  This is not true when we
change the encoding of a CF.  This could be one of the reasons I got data loss with online
encoding change?
> If I make sure onDisk == inCache all the time, my ITBLL with online encoding change worked
once for me.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message