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 5A6C31111B for ; Mon, 4 Aug 2014 20:20:14 +0000 (UTC) Received: (qmail 78650 invoked by uid 500); 4 Aug 2014 20:20:14 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 78605 invoked by uid 500); 4 Aug 2014 20:20:14 -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 78589 invoked by uid 99); 4 Aug 2014 20:20:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Aug 2014 20:20:14 +0000 Date: Mon, 4 Aug 2014 20:20:14 +0000 (UTC) From: "Jerry He (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-11608) Add synchronous split 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-11608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14085219#comment-14085219 ] Jerry He commented on HBASE-11608: ---------------------------------- Yes. I was looking at the the current synchronous HBaseAdmin APIs and how they are implemented. Two different approaches. +1+ Inside the API implementation, the first part is to send the request asynchronously. Then the second part loops for the status via a status inquiry (direct RPC inquiry or indirect inquiry thru meta status, etc) until the request is completed. For example, deleteTable, disableTable and snapshot. The identification used to poll the status is table name, or snapshot name in the above cases. +2+ The second approach is a real synchronous call. The server side will not return until the work is really completed. For example, flush. Other HBaseAdmin APIs are asynchronous, for example, the current compact and split API. The client only submits the request without waiting for status at all. For this JIRA, the 2nd approach is cleaner. We could do the 1st approach. For example, the client asynchronously submits the split request. Then the client loops for the split to complete by polling on the meta status to wait for the parent to split and daughters to come online. This is similar to what deleteTable and disableTable do. The identification to poll and inquiry the status is the parent region name. But this approach will be a little messy. . > Add synchronous split > --------------------- > > Key: HBASE-11608 > URL: https://issues.apache.org/jira/browse/HBASE-11608 > Project: HBase > Issue Type: New Feature > Components: Admin > Affects Versions: 0.99.0, 0.98.5 > Reporter: Jerry He > > Users have been asking for this. We have an internal requirement for this as well. > The goal is a provide a Admin API (and shell command) so that users can request to split a region or table and get the split completion result synchronously. -- This message was sent by Atlassian JIRA (v6.2#6252)