hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16991) Make the initialization of AsyncConnection asynchronous
Date Thu, 03 Nov 2016 04:14:58 GMT

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

Mime
View raw message