Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17018 Spooling BufferedMutator
  3. HBASE-17327

Allow for lazy connection / BufferedMutator creation

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Incomplete
    • None
    • None
    • None
    • None

    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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jrottinghuis Joep Rottinghuis
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: