Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AC78F10161 for ; Fri, 1 Nov 2013 18:15:20 +0000 (UTC) Received: (qmail 23370 invoked by uid 500); 1 Nov 2013 18:15:20 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 23335 invoked by uid 500); 1 Nov 2013 18:15:20 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 23326 invoked by uid 99); 1 Nov 2013 18:15:20 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Nov 2013 18:15:20 +0000 Date: Fri, 1 Nov 2013 18:15:20 +0000 (UTC) From: "Matt Corgan (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-9870) HFileDataBlockEncoderImpl#diskToCacheFormat uses wrong format MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-9870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13811523#comment-13811523 ] Matt Corgan commented on HBASE-9870: ------------------------------------ I forget the intricacies (or never understood them). I think the facebook guys added this ability to have different on-disk/in-cache encodings because they wanted to slowly test encoding without changing/corrupting the on-disk format, but now this safety feature has become dangerous. In my opinion, we should just remove that feature and always load from on-disk to in-cache without changing the format. To change the encoding, you would run a compaction. > 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)