You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Mikhail Antonov (JIRA)" <ji...@apache.org> on 2014/08/02 11:41:12 UTC

[jira] [Updated] (HBASE-11467) New impl of Registry interface not using ZK + new RPCs on master protocol

     [ https://issues.apache.org/jira/browse/HBASE-11467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Antonov updated HBASE-11467:
------------------------------------

    Attachment: HBASE-11467.patch

Second (still draft) version of patch

 - Mostly to assist mini cluster testing, changed hbase.masters.quorum property to contain hostname:port pairs.
 - Some methods from ConnectionUtils were moved to other locations. createShortCirctuitConnection() has gone to
HRegionServer (the only place it was used in conjunction with ConnectionAdapter), and setServerSideHConnectionRetriesConfig() went to RsRpcServies. So in that sense I believe ConnectionUtils class it truly client-side class only, and it's in hbase-client module.
 - seems like it makes sense to have 2 types of Registry, at least as this stage. So I added 2 methods to ClusterConnection interface (it's private) to get and set Registry. Now the client-side HConnections are using RpcRegistry, and server-side connections are using ServerSideZkRegistry. That also helps to avoid chicken-and-egg problem with trying to read ClusterId from the web endpoint before web server is brought up.
 - moved ConnectionAdapter from hbase-client to hbase-module, as it seems right thing to do (please advise if I'm missing some consideration here?

Looking for initial feedbacks. [~stack] , [~ghelmling], ..?

Another thing which seems the right one to do is to reconcile notions of CoprocessorHostConnection and shortCircuitConnection (running via ConnectionAdapter), as they seem to be conceptually the same or similar things?


> New impl of Registry interface not using ZK + new RPCs on master protocol
> -------------------------------------------------------------------------
>
>                 Key: HBASE-11467
>                 URL: https://issues.apache.org/jira/browse/HBASE-11467
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client, Consensus, Zookeeper
>            Reporter: Mikhail Antonov
>            Assignee: Mikhail Antonov
>             Fix For: 2.0.0
>
>         Attachments: HBASE-11467.patch, HBASE-11467.patch
>
>
> Currently there' only one implementation of Registry interface, which is using ZK to get info about meta. Need to create implementation which will be using  RPC calls to master the client is connected to.
> That includes adding several new methods to master RPC protocol:
> - GetMetaRegionLocation
> - IsTableOnlineState
> - GetCurrentNrHRS
> Additionally, new HTTP endpoint would be added to the master, so anyone can request ClusterId without any authentication.



--
This message was sent by Atlassian JIRA
(v6.2#6252)