[ 
https://issues.apache.org/jira/browse/HBASE-28436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17825292#comment-17825292
 ] 

Duo Zhang commented on HBASE-28436:
-----------------------------------

I propose we just use the way described in the email to define the protocol.

hbase:zookeeper://host:port(,host:port)*/<zk_root_path>, is for zookeeper based 
connection registry
hbase:rpc://host:port(,host:port)*, is for rpc based connection registry

For MasterRegistry, I do not think we still need to support it here, as we will 
still support the old way to specify it.

As describe in the parent issue, we could use ServiceLoader to load different 
connection registry implementations. More specific, I think we could introduce 
a ConnectionRegistryFactory base interface(it is already there but since it is 
IA.Private, we could rename the old class...), which have two methods, one is 
the schema of this connection registry implementation, the other is a create 
method to create the actual ConnectionRegistry.

We will introduce a new configuration for specifying the connection url, if it 
is not present, we fallback to use the old way. And when creating 
ConnectionRegistry, we first check its scheme, and choose the correct 
ConnectionRegistryFactory to create the ConnectionRegistry. If there is no 
schema, we will fallback to use the old way.

Thanks.

> Use connection url to specify the connection registry information
> -----------------------------------------------------------------
>
>                 Key: HBASE-28436
>                 URL: https://issues.apache.org/jira/browse/HBASE-28436
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>
> As describe in this email from [~ndimiduk]
> https://lists.apache.org/thread/98wqlkqvlnmpx3r7yrg9mw4pqz9ppofh
> The first advantage here is that, we can encode the connection registry 
> implementation in the scheme of the connection url, so for replication, we 
> can now support cluster key other than zookeeper, which is important for us 
> to remove zookeeper dependency on our public facing APIs.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to