Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E520510867 for ; Mon, 22 Jul 2013 23:54:32 +0000 (UTC) Received: (qmail 13561 invoked by uid 500); 22 Jul 2013 23:54:32 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 13507 invoked by uid 500); 22 Jul 2013 23:54:32 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 13499 invoked by uid 99); 22 Jul 2013 23:54:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Jul 2013 23:54:32 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of yuzhihong@gmail.com designates 209.85.217.176 as permitted sender) Received: from [209.85.217.176] (HELO mail-lb0-f176.google.com) (209.85.217.176) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Jul 2013 23:54:25 +0000 Received: by mail-lb0-f176.google.com with SMTP id z5so5633968lbh.7 for ; Mon, 22 Jul 2013 16:54:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=mQVwBocG1LBBPQdpMlo83Eit2pEeIqnwsOyd0/Jh2Xo=; b=Be8t6cAyVMmuMD9RWpFcoL9XvIN6kkI7vDS4B1nd3ZjUT4SFKyg7obFOWP13RC//Zt C2fmIuUTBNPnywB8odRicm07uw6LXRO6Uy/sL7Tudy1mRkJWn+zxv5I/qUmVMQCBnSb3 Bj5rPfBGGYaoOpA+vHXtk3XGqhxJ5PcOe7rMT5Wa6rPn3uq7smwckaKQkZyxgQHG0LzG WWGNJm7q4HEJmrAh2Avy8Mczaf/0KCebp10d2SH5xdYDCQdbsGX+e25CNt8pWA/I3/xx GTNtChYvOBDy+RRb67CJscYY77x8CGxQoh0CK4DURyuBKd1CESDqRaIHkNdfflA1FEsj M+PQ== MIME-Version: 1.0 X-Received: by 10.112.164.164 with SMTP id yr4mr13328809lbb.88.1374537245087; Mon, 22 Jul 2013 16:54:05 -0700 (PDT) Received: by 10.112.141.5 with HTTP; Mon, 22 Jul 2013 16:54:05 -0700 (PDT) In-Reply-To: References: Date: Mon, 22 Jul 2013 16:54:05 -0700 Message-ID: Subject: Re: does append delete all cell versions except the last one? From: Ted Yu To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary=001a1133cb2c395c2204e22264ab X-Virus-Checked: Checked by ClamAV on apache.org --001a1133cb2c395c2204e22264ab Content-Type: text/plain; charset=ISO-8859-1 Take a look at the release notes for: https://issues.apache.org/jira/browse/HBASE-4583 The fix went to 0.95.0 Cheers On Mon, Jul 22, 2013 at 4:20 PM, Vladimir Rodionov wrote: > Forgot to mention: 0.94.6.1 (CDH 4.3) > > Best regards, > Vladimir Rodionov > Principal Platform Engineer > Carrier IQ, www.carrieriq.com > e-mail: vrodionov@carrieriq.com > > ________________________________________ > From: Vladimir Rodionov > Sent: Monday, July 22, 2013 4:17 PM > To: dev@hbase.apache.org; lars hofhansl > Subject: does append delete all cell versions except the last one? > > I am doing some tests of append operation (HTable.append(Append append)) > and it seems that > if cell being appended has multiple versions , all except the last one get > deleted. Is it correct behavior or I am doing something wrong in my tests? > > The test is simple. I have a row with 3 CF and 3 qualifiers in each CF and > 10 versions (total # KVs stored for row is 90). I test append on the row > (for each CF:Qualifier combination) > > public void testAppend() > { > int index = 2; > > LOG.error("Test append started. Testing "+index+" row"); > > byte[] row = data.get(index).get(0).getRow(); > byte[] toAppend = "APPEND".getBytes(); > LOG.error(" Append row: "+ new String(row)); > > // Get all data for the row > Get get = createGet(row, null, null, null); > get.setMaxVersions(Integer.MAX_VALUE); > Result result = tableA.get(get); > List ll = result.list(); > // Correct list size is 3 (total families)*3 (total > columns) *10 (# versions) = 90 > > assertEquals( 90, ll.size() ); > > // Do append to All 3 * 3 = 9 cells in a row > Append append = createAppend(row, Arrays.asList(FAMILIES), > Arrays.asList(COLUMNS), toAppend); > Result r = tableA.append(append); > > ll = r.list(); > assertEquals( 9, ll.size() ); > > // Check row again > get = createGet(row, null, null, null); > get.setMaxVersions(Integer.MAX_VALUE); > > result = tableA.get(get); > > assertEquals (90, result.size()); // This assertion FAILS: > actual size is 9 > > } > > Best regards, > Vladimir Rodionov > Principal Platform Engineer > Carrier IQ, www.carrieriq.com > e-mail: vrodionov@carrieriq.com > > > Confidentiality Notice: The information contained in this message, > including any attachments hereto, may be confidential and is intended to be > read only by the individual or entity to whom this message is addressed. If > the reader of this message is not the intended recipient or an agent or > designee of the intended recipient, please note that any review, use, > disclosure or distribution of this message or its attachments, in any form, > is strictly prohibited. If you have received this message in error, please > immediately notify the sender and/or Notifications@carrieriq.com and > delete or destroy any copy of this message and its attachments. > --001a1133cb2c395c2204e22264ab--