Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8C49F200C04 for ; Tue, 20 Dec 2016 05:49:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 8AD96160B21; Tue, 20 Dec 2016 04:49:00 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id D197C160B30 for ; Tue, 20 Dec 2016 05:48:59 +0100 (CET) Received: (qmail 77670 invoked by uid 500); 20 Dec 2016 04:48:58 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 77367 invoked by uid 99); 20 Dec 2016 04:48:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Dec 2016 04:48:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 8E25F2C03E3 for ; Tue, 20 Dec 2016 04:48:58 +0000 (UTC) Date: Tue, 20 Dec 2016 04:48:58 +0000 (UTC) From: "Joep Rottinghuis (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-17327) Allow for lazy connection / BufferedMutator creation MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 20 Dec 2016 04:49:00 -0000 [ 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. 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. See: https://reviews.apache.org/r/54882/ > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)