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