[
https://issues.apache.org/jira/browse/HBASE-19200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16245113#comment-16245113
]
Appy commented on HBASE-19200:
------------------------------
Please upload patches this size of more on RB too. Makes it much easier too
comment. Suggestion: try dev-support/submit-patch.py script. Makes life simpler.
----
bq. static final String REGISTRY_IMPL_CONF_KEY = "hbase.client.registry.impl";
AsyncRegistry is private. Either it should be public, or there there should be
multiple implementation for users to pick from, or there should be no config
for this.
We are doing it in so many places. I feel like it's just cheating - using
configuration as global variable to store class names for load time. The right
way is using ServiceProviders.
----
If we keep ZookeeperRegistry, please rename it to ZKSyncRegistry.
----
ZookeeperRegistry#registry;
Rename to asyncRegistry.
----
Can we remove Registry/ZookeeperRegistry/RegistryFactory to avoid future code
picking up sync api?
Benefits:
- Not have yet another Async-Sync pair of APIs if not really needed, these
things only diverge and create more work and bad API.
- I see Registry only being used by ConnectionImplementation (CI). Each of the
3 functions are being called only once. Probably best time to get rid of it
then let's it linger and spread more.
> Let ZooKeeperRegistry depend on ZKAsyncRegistry to get data from zookeeper
> --------------------------------------------------------------------------
>
> Key: HBASE-19200
> URL: https://issues.apache.org/jira/browse/HBASE-19200
> Project: HBase
> Issue Type: Bug
> Components: Client, Zookeeper
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Fix For: 2.0.0-beta-1
>
> Attachments: HBASE-19200-v1.patch, HBASE-19200.patch
>
>
> So that we can move most of the zookeeper related code out of hbase-client
> module.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)