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 33CEA18AEA for ; Sat, 6 Feb 2016 15:57:45 +0000 (UTC) Received: (qmail 64057 invoked by uid 500); 6 Feb 2016 15:57:40 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 64005 invoked by uid 500); 6 Feb 2016 15:57:40 -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 63986 invoked by uid 99); 6 Feb 2016 15:57:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Feb 2016 15:57:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id D72CF2C14F7 for ; Sat, 6 Feb 2016 15:57:39 +0000 (UTC) Date: Sat, 6 Feb 2016 15:57:39 +0000 (UTC) From: "Hudson (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-15214) Valid mutate Ops fail with RPC Codec in use and region moves across 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-15214?page=3Dcom.atlassia= n.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D151= 35848#comment-15135848 ]=20 Hudson commented on HBASE-15214: -------------------------------- FAILURE: Integrated in HBase-1.1-JDK8 #1742 (See [https://builds.apache.org= /job/HBase-1.1-JDK8/1742/]) HBASE-15214 Valid mutate Ops fail with RPC Codec in use and region moves (a= noopsamjohn: rev 30707a55ef8a8047b076ddb1fe4cac1e017fda97) * hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.= java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParall= el.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServ= ices.java > Valid mutate Ops fail with RPC Codec in use and region moves across > ------------------------------------------------------------------- > > Key: HBASE-15214 > URL: https://issues.apache.org/jira/browse/HBASE-15214 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.0 > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Priority: Critical > Fix For: 2.0.0, 1.2.0, 1.3.0, 1.1.4, 1.0.4, 0.98.18 > > Attachments: HBASE-15214-0.98.patch, HBASE-15214-branch-1.0.patch= , HBASE-15214-branch-1.1.patch, HBASE-15214-branch-1.patch, HBASE-15214.pat= ch, HBASE-15214_V2.patch, HBASE-15214_V3.patch > > > Test failures in HBASE-15198 lead to this bug. Till now we are not doing = cell block (codec usage) for write requests. (Client -> server) Once we en= abled Codec usage by default, aw this issue. > A multi request came to RS with mutation for different regions. One of th= e region which was in this RS got unavailable now. In RsRpcServices#multi,= we will fail that entire RegionAction (with N mutations in it) in that Mul= tiRequest. Then we will continue with remaining RegionActions. Those Regi= ons might be available. (The failed RegionAction will get retried from cli= ent after fetching latest region location). This all works fine in pure PB= requests world. When a Codec is used, we wont convert the Mutation Cell to= PB Cells and pack them in PB Message. Instead we will pass all Cells seria= lized into one byte[] cellblock. Using Decoder we will iterate over these c= ells at server side. Each Mutation PB will know only the number of cells as= sociated with it. As in above case when an entire RegionAction was skipped= , there might be N Mutations under that which might have corresponding Cell= s in the cellblock. We are not doing the skip in that Iterator. This makes = the later Mutations (for other Regions) to refer to invalid Cells and try t= o put those into the a different region. This will make HRegion#checkRow() = to throw WrongRegionException which will be treated as Sanity check failure= and so throwing back a DNRIOE to client. So the op will get failed for the= user code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)