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 A22D910C42 for ; Sun, 23 Mar 2014 11:40:47 +0000 (UTC) Received: (qmail 62569 invoked by uid 500); 23 Mar 2014 11:40:46 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 62298 invoked by uid 500); 23 Mar 2014 11:40:44 -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 62290 invoked by uid 99); 23 Mar 2014 11:40:44 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Mar 2014 11:40:44 +0000 Date: Sun, 23 Mar 2014 11:40:43 +0000 (UTC) From: "LiJianyin (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-10803) "mutateRow" maybe fail when Region Server restarted(or killed) or Region Balance MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-10803?page=3Dcom.atlassia= n.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D139= 44407#comment-13944407 ]=20 LiJianyin commented on HBASE-10803: ----------------------------------- Thanks, Lars Hofhansl, stack. I'll try to write a unit tests. in addition=EF=BC=9A =09two column family: CF1, CF0 =09addOrUpdate: put->CF1 with the timestamp =09delete(mutateRow): delete->CF1(deleteColumns) and put->CF0 with the sam= e timestamp =09all timestamps are from client (System.currentTimeMillis()) =09 =09so, if delete(mutateRow) success, the CF0 must have value. but the resu= lt is not so. =09 =09for example: (rowkey+qualifier only in DEL_SUCCESS_LOG) =09=09in the DEL_SUCCESS_LOG: =09=09=09 timestamp:1394601911543 rowkey:361523835735633 qualifier:3670583= 952628921 value:0 =09=09--result: there is no value in CF0 with the rowkey+qualifier =09=09 =09another example: (the same rowkey+qualifier are both in DEL_SUC= CESS_LOG and PUT_SUCCESS_LOG) =09=09in the PUT_SUCCESS_LOG: =09=09=09timestamp:1394601634849 rowkey:213772920506212 qualifier:36872888= 54440310 value:0 =09=09in the DEL_SUCCESS_LOG: =09=09=09timestamp:1394601913327 rowkey:213772920506212 qualifier:36872888= 54440310 value:0 =09=09--result: CF1 with the rowkey+qualifier+timestamp 1394601634849 has t= he value, but no value in CF0 with the rowkey+qualifier > "mutateRow" maybe fail when Region Server restarted(or killed) or Region = Balance > -------------------------------------------------------------------------= ------- > > Key: HBASE-10803 > URL: https://issues.apache.org/jira/browse/HBASE-10803 > Project: HBase > Issue Type: Bug > Affects Versions: 0.96.1.1 > Environment: hbase0.96.1.1 > hadoop2.2=20 > jdk1.7 > 5 Region Server=20 > Reporter: LiJianyin > > found that the operation "mutateRow" maybe fail if Region Server restart= ed(or killed) or Region Balance, but the java client didnot throw exception= s and there was no exception in the server's log either.=20 > the client code : > =09=09=09HTableInterface table =3D connection.getTable(TABLE_NAME); > =09=09=09Delete d =3D new Delete(Bytes.toBytes(rowkey), time); > =09=09=09d.deleteColumns(FAMILY, Bytes.toBytes(id), time); > =09=09=09Put p =3D new Put(Bytes.toBytes(rowkey)); > =09=09=09p.add(FAMILY_DEL, Bytes.toBytes(id), time, Bytes.toBytes(value))= ; > =09=09=09RowMutations rm =3D new RowMutations(Bytes.toBytes(rowkey)); > =09=09=09rm.add(d); > =09=09=09rm.add(p); > =09=09=09table.mutateRow(rm); > =09=09=09table.close(); > the test data: > =09Operator Type: put; mutateRow(delete+put)=20 > =09Operator Total Count:202194822 put:160866148 mutateRow:41328674 > =09All put correct, but 161 mutateRow incorrect (161 data was not mutateR= owed in fact). > =09then we checked log when the time mutateRow failed, NO EXCEPTION THROW= ED, found that as follow: > =09 > 39 failed hbase auto region-balance > 44 failed hbase region server killed > 59 failed hbase region server restart > 19 failed hadoop datanode restart -- This message was sent by Atlassian JIRA (v6.2#6252)