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 B93E7931E for ; Thu, 12 Apr 2012 18:51:39 +0000 (UTC) Received: (qmail 37580 invoked by uid 500); 12 Apr 2012 18:51:39 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 37536 invoked by uid 500); 12 Apr 2012 18:51:39 -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 37528 invoked by uid 99); 12 Apr 2012 18:51:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Apr 2012 18:51:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Apr 2012 18:51:38 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 19DEE3671B5 for ; Thu, 12 Apr 2012 18:51:18 +0000 (UTC) Date: Thu, 12 Apr 2012 18:51:18 +0000 (UTC) From: "Lars Hofhansl (Commented) (JIRA)" To: issues@hbase.apache.org Message-ID: <1518466837.18613.1334256678107.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <29873241.358061294960845461.JavaMail.jira@thor> Subject: [jira] [Commented] (HBASE-3443) ICV optimization to look in memstore first and then store files (HBASE-3082) does not work when deletes are in the mix MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HBASE-3443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252726#comment-13252726 ] Lars Hofhansl commented on HBASE-3443: -------------------------------------- @Stack: Wasn't sure about this one. Didn't feel right to add this to a "performance release" :) You think this should go into 0.94? Might be good to have this correctness fix early. > ICV optimization to look in memstore first and then store files (HBASE-3082) does not work when deletes are in the mix > ---------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-3443 > URL: https://issues.apache.org/jira/browse/HBASE-3443 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 0.90.0, 0.90.1, 0.90.2, 0.90.3, 0.90.4, 0.90.5, 0.90.6, 0.92.0, 0.92.1 > Reporter: Kannan Muthukkaruppan > Assignee: Lars Hofhansl > Priority: Critical > Labels: corruption > Fix For: 0.96.0 > > Attachments: 3443.txt > > > For incrementColumnValue() HBASE-3082 adds an optimization to check memstores first, and only if not present in the memstore then check the store files. In the presence of deletes, the above optimization is not reliable. > If the column is marked as deleted in the memstore, one should not look further into the store files. But currently, the code does so. > Sample test code outline: > {code} > admin.createTable(desc) > table = HTable.new(conf, tableName) > table.incrementColumnValue(Bytes.toBytes("row"), cf1name, Bytes.toBytes("column"), 5); > admin.flush(tableName) > sleep(2) > del = Delete.new(Bytes.toBytes("row")) > table.delete(del) > table.incrementColumnValue(Bytes.toBytes("row"), cf1name, Bytes.toBytes("column"), 5); > get = Get.new(Bytes.toBytes("row")) > keyValues = table.get(get).raw() > keyValues.each do |keyValue| > puts "Expect 5; Got Value=#{Bytes.toLong(keyValue.getValue())}"; > end > {code} > The above prints: > {code} > Expect 5; Got Value=10 > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira