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 52EE7185DF for ; Wed, 10 Jun 2015 06:58:02 +0000 (UTC) Received: (qmail 21406 invoked by uid 500); 10 Jun 2015 06:58:02 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 21351 invoked by uid 500); 10 Jun 2015 06:58:02 -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 21339 invoked by uid 99); 10 Jun 2015 06:58:02 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jun 2015 06:58:02 +0000 Date: Wed, 10 Jun 2015 06:58:02 +0000 (UTC) From: "Anoop Sam John (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (HBASE-13836) Do not reset the mvcc for bulk loaded mob reference cells in reading 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-13836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14580134#comment-14580134 ] Anoop Sam John edited comment on HBASE-13836 at 6/10/15 6:57 AM: ----------------------------------------------------------------- Sorry for not observing this in 1st review. {code} + long seqId = cell.getSequenceId(); + assertEquals("After compaction: mob value", "mobValue1", + Bytes.toString(CellUtil.cloneValue(cell))); + // read the ref cell, not read further to the mob cell. + get.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(true)); + result = hTable.get(get); + cell = result.getColumnLatestCell(hcd1.getName(), Bytes.toBytes(qf1)); + assertEquals("After compaction: mob cell seqId", seqId, cell.getSequenceId()); {code} Here we try to assert the seqId of cell at client side. We don't write it over wire. SeqId make sense only at server. May be you can have a test which do mob compaction and after that the read will return the correct MOB value. Or else your test has to have some CPs where the postGet can get the seqId of returned cell. This may be not really needed IMO. was (Author: anoop.hbase): Sorry for not observing this in 1st review. {code} + long seqId = cell.getSequenceId(); + assertEquals("After compaction: mob value", "mobValue1", + Bytes.toString(CellUtil.cloneValue(cell))); + // read the ref cell, not read further to the mob cell. + get.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(true)); + result = hTable.get(get); + cell = result.getColumnLatestCell(hcd1.getName(), Bytes.toBytes(qf1)); + assertEquals("After compaction: mob cell seqId", seqId, cell.getSequenceId()); {code} Here we try to assert the seqId of cell at client side. We don't write it over wire. SeqId make sense only at server. May be you can have a test which do mob compaction and after that the read will return the correct MOB value. > Do not reset the mvcc for bulk loaded mob reference cells in reading > -------------------------------------------------------------------- > > Key: HBASE-13836 > URL: https://issues.apache.org/jira/browse/HBASE-13836 > Project: HBase > Issue Type: Sub-task > Components: mob > Affects Versions: hbase-11339 > Reporter: Jingcheng Du > Assignee: Jingcheng Du > Fix For: hbase-11339 > > Attachments: HBASE-13836-V2.diff, HBASE-13836.diff > > > Now in scanner, the cells mvcc of the bulk loaded files are reset by the seqId parsed from the file name. We need to skip this if the hfiles are bulkloaded in mob compactions. > In mob compaction, the bulk loaded ref cell might not be the latest cell among the ones that have the same row key. In reading, the mvcc is reset by the largest one, it will cover the real latest ref cell. We have to skip the resetting in this case. > The solution is we add a new field to fileinfo, when this field is set as true, we skip the resetting. -- This message was sent by Atlassian JIRA (v6.3.4#6332)