[ 
https://issues.apache.org/jira/browse/HBASE-17327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joep Rottinghuis updated HBASE-17327:
-------------------------------------
    Description: 
The SpoolingBufferedMutatorImpl solution (HBASE-17018) solved the use-case when 
an existing HBase connection stalls out due to HBase being down, or other 
transient issues.

We have a remaining issue that our service will not start up if it cannot 
initially connect to HBase.
This can be solved by letting the SpoolingBufferedMutator create the wrapped 
BufferedMutatorImpl later, but the problem has already occurred: we already 
have to have a connection in order to create a BufferedMutator to begin with.

It would be good to be able to initiate a connection and then have a way for 
multiple users to wait for the connection to succeed before using it.
I'm thinking perhaps create a LazyConnection interface that extends the 
Connection interface. It would have an additional waitFor(long timeout, 
TimeUnit unit) method where clients can wait for the connection to be 
established before they start using the connection.
Or perhaps the ConnectionFactory can have a createLazyConnection method.

See: https://reviews.apache.org/r/54882/

  was:
The SpoolingBufferedMutatorImpl solution (HBASE-17018) solved the use-case when 
an existing HBase connection stalls out due to HBase being down, or other 
transient issues.

We have a remaining issue that our service will not start up if it cannot 
initially connect to HBase.
This can be solved by letting the SpoolingBufferedMutator create the wrapped 
BufferedMutatorImpl later, but the problem has already occurred: we already 
have to have a connection in order to create a BufferedMutator to begin with.

It would be good to be able to initiate a connection and then have a way for 
multiple users to wait for the connection to succeed before using it.
I'm thinking perhaps create a LazyConnection interface that extends the 
Connection interface. It would have an additional waitFor(long timeout, 
TimeUnit unit) method where clients can wait for the connection to be 
established before they start using the connection.
Or perhaps the ConnectionFactory can have a createLazyConnection method.


> Allow for lazy connection / BufferedMutator creation
> ----------------------------------------------------
>
>                 Key: HBASE-17327
>                 URL: https://issues.apache.org/jira/browse/HBASE-17327
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Joep Rottinghuis
>
> The SpoolingBufferedMutatorImpl solution (HBASE-17018) solved the use-case 
> when an existing HBase connection stalls out due to HBase being down, or 
> other transient issues.
> We have a remaining issue that our service will not start up if it cannot 
> initially connect to HBase.
> This can be solved by letting the SpoolingBufferedMutator create the wrapped 
> BufferedMutatorImpl later, but the problem has already occurred: we already 
> have to have a connection in order to create a BufferedMutator to begin with.
> It would be good to be able to initiate a connection and then have a way for 
> multiple users to wait for the connection to succeed before using it.
> I'm thinking perhaps create a LazyConnection interface that extends the 
> Connection interface. It would have an additional waitFor(long timeout, 
> TimeUnit unit) method where clients can wait for the connection to be 
> established before they start using the connection.
> Or perhaps the ConnectionFactory can have a createLazyConnection method.
> See: https://reviews.apache.org/r/54882/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to