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 3610417B29 for ; Thu, 5 Feb 2015 18:51:38 +0000 (UTC) Received: (qmail 94717 invoked by uid 500); 5 Feb 2015 18:51:37 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 94660 invoked by uid 500); 5 Feb 2015 18:51:37 -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 94555 invoked by uid 99); 5 Feb 2015 18:51:37 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Feb 2015 18:51:37 +0000 Date: Thu, 5 Feb 2015 18:51:37 +0000 (UTC) From: "Lars Hofhansl (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-12975) SplitTranaction, RegionMergeTransaction to should have InterfaceAudience of LimitedPrivate(Coproc,Phoenix) 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-12975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14307757#comment-14307757 ] Lars Hofhansl commented on HBASE-12975: --------------------------------------- Hmm... I see. So you actually would want to implement a "joined split", where either both region succeed or both fail, atomically. Can you think of an interface for that, which we could pull out, along with an implementation that does that? I.e. a SplitTransaction that takes multiple region and splitkeys and only succeed when all are done. That might actually be tricky. Or maybe an interface that has execute, commit, and rollback? Then you can execute on both, and commit when both executes are successful. That may be easier. Need to think carefully what commit/rollback mean and what happens when a region server dies before it commits. > SplitTranaction, RegionMergeTransaction to should have InterfaceAudience of LimitedPrivate(Coproc,Phoenix) > ---------------------------------------------------------------------------------------------------------- > > Key: HBASE-12975 > URL: https://issues.apache.org/jira/browse/HBASE-12975 > Project: HBase > Issue Type: Improvement > Reporter: Rajeshbabu Chintaguntla > Assignee: Rajeshbabu Chintaguntla > Priority: Minor > Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 > > Attachments: HBASE-12975.patch > > > Making SplitTransaction, RegionMergeTransaction limited private is required to support local indexing feature in Phoenix to ensure regions colocation. > We can ensure region split, regions merge in the coprocessors in few method calls without touching internals like creating zk's, file layout changes or assignments. > 1) stepsBeforePONR, stepsAfterPONR we can ensure split. > 2) meta entries can pass through coprocessors to atomically update with the normal split/merge. > 3) rollback on failure. -- This message was sent by Atlassian JIRA (v6.3.4#6332)