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 C45C3D3BB for ; Wed, 26 Dec 2012 17:20:13 +0000 (UTC) Received: (qmail 54353 invoked by uid 500); 26 Dec 2012 17:20:13 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 54306 invoked by uid 500); 26 Dec 2012 17:20:13 -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 54295 invoked by uid 99); 26 Dec 2012 17:20:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Dec 2012 17:20:13 +0000 Date: Wed, 26 Dec 2012 17:20:13 +0000 (UTC) From: "Jonathan Hsieh (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-7212) Globally Barriered Procedure mechanism 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-7212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13539605#comment-13539605 ] Jonathan Hsieh commented on HBASE-7212: --------------------------------------- waitForLatch got moved out of the ErrorHandling patch over to here -- but this is used in follow on patches with code that resides in different packages. I agree with createProcedure, I've made it package protected. (there was some concern about mokito limitations) Thanks for the pointer to guava's MapMaker and the example in CoprocessorHost. I've moved over to that api and removed WeakValueMapping. > Globally Barriered Procedure mechanism > -------------------------------------- > > Key: HBASE-7212 > URL: https://issues.apache.org/jira/browse/HBASE-7212 > Project: HBase > Issue Type: Sub-task > Components: snapshots > Affects Versions: hbase-6055 > Reporter: Jonathan Hsieh > Assignee: Jonathan Hsieh > Fix For: hbase-6055 > > Attachments: 121127-global-barrier-proc.pdf, hbase-7212.patch, hbase-7212.v5.patch, pre-hbase-7212.patch, pre-hbase-7212.v5.patch > > > This is a simplified version of what was proposed in HBASE-6573. Instead of claiming to be a 2pc or 3pc implementation (which implies logging at each actor, and recovery operations) this is just provides a best effort global barrier mechanism called a Procedure. > Users need only to implement a methods to acquireBarrier, to act when insideBarrier, and to releaseBarrier that use the ExternalException cooperative error checking mechanism. > Globally consistent snapshots require the ability to quiesce writes to a set of region servers before a the snapshot operation is executed. Also if any node fails, it needs to be able to notify them so that they abort. > The first cut of other online snapshots don't need the fully barrier but may still use this for its error propagation mechanisms. > This version removes the extra layer incurred in the previous implementation due to the use of generics, separates the coordinator and members, and reduces the amount of inheritance used in favor of composition. -- 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