[
https://issues.apache.org/jira/browse/HBASE-16991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15631492#comment-15631492
]
stack commented on HBASE-16991:
-------------------------------
What do I think? You are the two fellows w/ active 'customers' that you need to
keep happy. I can give an opinion but I think yours would carry more weight so
I defer to you fellows.
Here is my opinion since you asked for it. Singletons are evil (smile).
SingletonAsyncConnection has an ugly name but it is excellent illustrative code
of how you might keep around a reference to a Connection in your app. How about
for now adding this class to the connection factory class javadoc as an example
on how you might keep around your async connection? It does not have to go in
as part of this patch. We might add it later after we've figured out more about
how to make use of the async connection?
bq. I suggest you guys also introduce a thin layer on top of the hbase client
to do the connection caching work.
Can we try and make it so hbase has this thin layer if possible so everyone
doesn't have to build it (follow on issue).
On patch...
What is removal of ClusterRegistryFactory about? It was added by mistake
superceded by AsyncRegistryFactory?
Do you want to make it more clear that Connection creation is expensive and
that app should therefore try and cache them in the javadoc somewhere around
here?
35 * A non-instantiable class that manages creation of {@link
Connection}s. Managing the lifecycle of
36 * the {@link Connection}s to the cluster is the responsibility of the
caller. From a
37 * {@link Connection}, {@link Table} implementations are retrieved with
38 * {@link Connection#getTable(TableName)}. Example:
Do we need to test that Connection keeps working across Cluster restarts? That
it is resilient?
> Make the initialization of AsyncConnection asynchronous
> -------------------------------------------------------
>
> Key: HBASE-16991
> URL: https://issues.apache.org/jira/browse/HBASE-16991
> Project: HBase
> Issue Type: Sub-task
> Components: Client
> Affects Versions: 2.0.0
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-16991-v1.patch, HBASE-16991.patch
>
>
> Now the ConnectionFactory.createAsyncConnection is still blocking. We should
> make it return a CompletableFuture to make the async client fully
> asynchronous.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)