[
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)