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 D3F5110C7D for ; Tue, 8 Apr 2014 05:02:24 +0000 (UTC) Received: (qmail 19796 invoked by uid 500); 8 Apr 2014 05:02:23 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 19751 invoked by uid 500); 8 Apr 2014 05:02:23 -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 19740 invoked by uid 99); 8 Apr 2014 05:02:21 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Apr 2014 05:02:21 +0000 Date: Tue, 8 Apr 2014 05:02:21 +0000 (UTC) From: "stack (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-10504) Define Replication Interface 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-10504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13962579#comment-13962579 ] stack commented on HBASE-10504: ------------------------------- Just a few comments... bq. ...via our RPC mechanism... It doesn't have to be 'our' RPC, right JD? You don't have to have the hbase RPC classes on the implementors side. An RPC just needs to implement the protocol described here http://hbase.apache.org/book.html#d248e15581 It can be 'your' RPC --whether an instance of the hbase classes instantiated and set running or a python implementation of the protocol... -- if you want, right? bq. .... This means setting up a ZooKeeperWatcher, crafting a server name and then creating the znode. Similar, we don't care how you write the znode. It doesn't have to be our wacky ZKW that does the writing. You just have to write the znode data in the same format that hbase expects it to be in (We could do folks a favor and describe it in the Interface). bq. It may not seem as whole lot of code but it's code that can easily be broken with a few signature changes since those interfaces aren't clearly marked. We can't change the RPC protocol, not in an incompatible way. We'll undo being able to have old and new client and servers communicate. Ditto for how we serialize znodes. The above statement makes it appear as though RPC protocol and zk serialization are more brittle than they actually are. Otherwise, good stuff. > Define Replication Interface > ---------------------------- > > Key: HBASE-10504 > URL: https://issues.apache.org/jira/browse/HBASE-10504 > Project: HBase > Issue Type: Task > Reporter: stack > Assignee: stack > Priority: Blocker > Fix For: 0.99.0 > > > HBase has replication. Fellas have been hijacking the replication apis to do all kinds of perverse stuff like indexing hbase content (hbase-indexer https://github.com/NGDATA/hbase-indexer) and our [~toffer] just showed up w/ overrides that replicate via an alternate channel (over a secure thrift channel between dcs over on HBASE-9360). This issue is about surfacing these APIs as public with guarantees to downstreamers similar to those we have on our public client-facing APIs (and so we don't break them for downstreamers). > Any input [~phunt] or [~gabriel.reid] or [~toffer]? > Thanks. > -- This message was sent by Atlassian JIRA (v6.2#6252)