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 BC1AED15A for ; Tue, 12 Mar 2013 06:55:17 +0000 (UTC) Received: (qmail 19791 invoked by uid 500); 12 Mar 2013 06:55:16 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 19254 invoked by uid 500); 12 Mar 2013 06:55:15 -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 19141 invoked by uid 99); 12 Mar 2013 06:55:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Mar 2013 06:55:14 +0000 Date: Tue, 12 Mar 2013 06:55:13 +0000 (UTC) From: "Enis Soztutar (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-8036) ProtobufUtil.multi behavior is inconsistent in case of errors 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-8036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Enis Soztutar updated HBASE-8036: --------------------------------- Attachment: hbase-8036_v1.patch Here is a first stab at it. I copied the HCM test from one of the above tests, but changed it so that, we create many regions, cache region locations, move one region, do a multi() against the region server with a row in a valid region in the RS, and the moved region. (Re)try limit is set to 2, so that if we incorrectly update the region's location, it fails. > ProtobufUtil.multi behavior is inconsistent in case of errors > ------------------------------------------------------------- > > Key: HBASE-8036 > URL: https://issues.apache.org/jira/browse/HBASE-8036 > Project: HBase > Issue Type: Bug > Affects Versions: 0.95.0 > Reporter: Sergey Shelukhin > Assignee: Enis Soztutar > Priority: Blocker > Fix For: 0.95.0 > > Attachments: hbase-8036_v1.patch > > > ProtobufUtil splits operations by regions and performs multiple client.multi calls. In case if there are certain errors inside RS, HRegionServer adds the corresponding exceptions to MultiResponse, PU continues the multi request for other regions, and returns partial failure. > In case of other errors (for example, region not served exception), the entire multi operation stops executing, and previous successes and partial results are disregarded. > ProtobufUtil should probably catch ServiceException separately for each client.multi call, make it a partial-failure exception for all actions for this region, and also continue the batch, to make the behavior consistent. > Alternatively, if we want to avoid continuing the batch in case of some server-wide errors/connection problems/etc., server should do that for region-specific errors (add exception to results for each action). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira