Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-16668

Admin class should have a synchronous Admin#mergeRegions* method

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Patch Available
    • Major
    • Resolution: Unresolved
    • 2.0.0
    • 3.0.0-beta-2
    • None
    • None

    Description

      In trunk from HBASE-14552, we have deprecated void Admin#mergeRegions (in 1.x this was an asynchronous call) and replaced it with Future<Void> Admin#mergeRegionsAsync which is clearly async.

      This leaves us only with the async version.

      We should have an easy way to make mergeRegions or an equivalant behave synchronously.

      For normal java Futures, we could just call the future's get() method. Unforutnately, the future this method returns doesn't follow java Future convention and throws Unimplemented operation when a plain get() is called and makes the api harder to use and read. We could make this future act more normally, and have the timeout throw an InterruptedException.

      Alternately, we could expose a new method in Admin that behaves synchronously such as HBaseAdmin#mergeRegionsSync. The caveat here is that we shouldn't use the name #mergeRegions since it exists in 1.x with async semantics.

      Attachments

        1. 16668.v1.txt
          2 kB
          Ted Yu

        Activity

          People

            syuanjiang Stephen Yuan Jiang
            jmhsieh Jonathan Hsieh
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated: