hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From git-site-r...@apache.org
Subject [30/51] [partial] hbase-site git commit: Published site at 2912c953551bedbfbf30c32c156ed7bb187d54c3.
Date Thu, 12 Apr 2018 14:49:44 GMT
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d220bc5e/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
index e63cd50..d8c0d2b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
@@ -422,7 +422,7 @@
 <span class="sourceLineNo">414</span>  }<a name="line.414"></a>
 <span class="sourceLineNo">415</span><a name="line.415"></a>
 <span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * {@link #listTables(boolean)}<a name="line.417"></a>
+<span class="sourceLineNo">417</span>   * {@link #listTableDescriptors(boolean)}<a name="line.417"></a>
 <span class="sourceLineNo">418</span>   */<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
 <span class="sourceLineNo">420</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTableDescriptors(Pattern pattern,<a name="line.420"></a>
@@ -3476,16 +3476,79 @@
 <span class="sourceLineNo">3468</span>    return future;<a name="line.3468"></a>
 <span class="sourceLineNo">3469</span>  }<a name="line.3469"></a>
 <span class="sourceLineNo">3470</span><a name="line.3470"></a>
-<span class="sourceLineNo">3471</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3471"></a>
-<span class="sourceLineNo">3472</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3472"></a>
-<span class="sourceLineNo">3473</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3473"></a>
-<span class="sourceLineNo">3474</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3474"></a>
-<span class="sourceLineNo">3475</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3475"></a>
-<span class="sourceLineNo">3476</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3476"></a>
-<span class="sourceLineNo">3477</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3477"></a>
-<span class="sourceLineNo">3478</span>      .serverName(serverName).call();<a name="line.3478"></a>
-<span class="sourceLineNo">3479</span>  }<a name="line.3479"></a>
-<span class="sourceLineNo">3480</span>}<a name="line.3480"></a>
+<span class="sourceLineNo">3471</span>  @Override<a name="line.3471"></a>
+<span class="sourceLineNo">3472</span>  public CompletableFuture&lt;Void&gt; cloneTableSchema(TableName tableName, TableName newTableName,<a name="line.3472"></a>
+<span class="sourceLineNo">3473</span>      boolean preserveSplits) {<a name="line.3473"></a>
+<span class="sourceLineNo">3474</span>    CompletableFuture&lt;Void&gt; future = new CompletableFuture&lt;&gt;();<a name="line.3474"></a>
+<span class="sourceLineNo">3475</span>    tableExists(tableName).whenComplete(<a name="line.3475"></a>
+<span class="sourceLineNo">3476</span>      (exist, err) -&gt; {<a name="line.3476"></a>
+<span class="sourceLineNo">3477</span>        if (err != null) {<a name="line.3477"></a>
+<span class="sourceLineNo">3478</span>          future.completeExceptionally(err);<a name="line.3478"></a>
+<span class="sourceLineNo">3479</span>          return;<a name="line.3479"></a>
+<span class="sourceLineNo">3480</span>        }<a name="line.3480"></a>
+<span class="sourceLineNo">3481</span>        if (!exist) {<a name="line.3481"></a>
+<span class="sourceLineNo">3482</span>          future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.3482"></a>
+<span class="sourceLineNo">3483</span>          return;<a name="line.3483"></a>
+<span class="sourceLineNo">3484</span>        }<a name="line.3484"></a>
+<span class="sourceLineNo">3485</span>        tableExists(newTableName).whenComplete(<a name="line.3485"></a>
+<span class="sourceLineNo">3486</span>          (exist1, err1) -&gt; {<a name="line.3486"></a>
+<span class="sourceLineNo">3487</span>            if (err1 != null) {<a name="line.3487"></a>
+<span class="sourceLineNo">3488</span>              future.completeExceptionally(err1);<a name="line.3488"></a>
+<span class="sourceLineNo">3489</span>              return;<a name="line.3489"></a>
+<span class="sourceLineNo">3490</span>            }<a name="line.3490"></a>
+<span class="sourceLineNo">3491</span>            if (exist1) {<a name="line.3491"></a>
+<span class="sourceLineNo">3492</span>              future.completeExceptionally(new TableExistsException(newTableName));<a name="line.3492"></a>
+<span class="sourceLineNo">3493</span>              return;<a name="line.3493"></a>
+<span class="sourceLineNo">3494</span>            }<a name="line.3494"></a>
+<span class="sourceLineNo">3495</span>            getDescriptor(tableName).whenComplete(<a name="line.3495"></a>
+<span class="sourceLineNo">3496</span>              (tableDesc, err2) -&gt; {<a name="line.3496"></a>
+<span class="sourceLineNo">3497</span>                if (err2 != null) {<a name="line.3497"></a>
+<span class="sourceLineNo">3498</span>                  future.completeExceptionally(err2);<a name="line.3498"></a>
+<span class="sourceLineNo">3499</span>                  return;<a name="line.3499"></a>
+<span class="sourceLineNo">3500</span>                }<a name="line.3500"></a>
+<span class="sourceLineNo">3501</span>                TableDescriptor newTableDesc<a name="line.3501"></a>
+<span class="sourceLineNo">3502</span>                    = TableDescriptorBuilder.copy(newTableName, tableDesc);<a name="line.3502"></a>
+<span class="sourceLineNo">3503</span>                if (preserveSplits) {<a name="line.3503"></a>
+<span class="sourceLineNo">3504</span>                  getTableSplits(tableName).whenComplete((splits, err3) -&gt; {<a name="line.3504"></a>
+<span class="sourceLineNo">3505</span>                    if (err3 != null) {<a name="line.3505"></a>
+<span class="sourceLineNo">3506</span>                      future.completeExceptionally(err3);<a name="line.3506"></a>
+<span class="sourceLineNo">3507</span>                    } else {<a name="line.3507"></a>
+<span class="sourceLineNo">3508</span>                      createTable(newTableDesc, splits).whenComplete(<a name="line.3508"></a>
+<span class="sourceLineNo">3509</span>                        (result, err4) -&gt; {<a name="line.3509"></a>
+<span class="sourceLineNo">3510</span>                          if (err4 != null) {<a name="line.3510"></a>
+<span class="sourceLineNo">3511</span>                            future.completeExceptionally(err4);<a name="line.3511"></a>
+<span class="sourceLineNo">3512</span>                          } else {<a name="line.3512"></a>
+<span class="sourceLineNo">3513</span>                            future.complete(result);<a name="line.3513"></a>
+<span class="sourceLineNo">3514</span>                          }<a name="line.3514"></a>
+<span class="sourceLineNo">3515</span>                        });<a name="line.3515"></a>
+<span class="sourceLineNo">3516</span>                    }<a name="line.3516"></a>
+<span class="sourceLineNo">3517</span>                  });<a name="line.3517"></a>
+<span class="sourceLineNo">3518</span>                } else {<a name="line.3518"></a>
+<span class="sourceLineNo">3519</span>                  createTable(newTableDesc).whenComplete(<a name="line.3519"></a>
+<span class="sourceLineNo">3520</span>                    (result, err5) -&gt; {<a name="line.3520"></a>
+<span class="sourceLineNo">3521</span>                      if (err5 != null) {<a name="line.3521"></a>
+<span class="sourceLineNo">3522</span>                        future.completeExceptionally(err5);<a name="line.3522"></a>
+<span class="sourceLineNo">3523</span>                      } else {<a name="line.3523"></a>
+<span class="sourceLineNo">3524</span>                        future.complete(result);<a name="line.3524"></a>
+<span class="sourceLineNo">3525</span>                      }<a name="line.3525"></a>
+<span class="sourceLineNo">3526</span>                    });<a name="line.3526"></a>
+<span class="sourceLineNo">3527</span>                }<a name="line.3527"></a>
+<span class="sourceLineNo">3528</span>              });<a name="line.3528"></a>
+<span class="sourceLineNo">3529</span>          });<a name="line.3529"></a>
+<span class="sourceLineNo">3530</span>      });<a name="line.3530"></a>
+<span class="sourceLineNo">3531</span>    return future;<a name="line.3531"></a>
+<span class="sourceLineNo">3532</span>  }<a name="line.3532"></a>
+<span class="sourceLineNo">3533</span><a name="line.3533"></a>
+<span class="sourceLineNo">3534</span>  private CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(ServerName serverName,<a name="line.3534"></a>
+<span class="sourceLineNo">3535</span>      List&lt;RegionInfo&gt; hris) {<a name="line.3535"></a>
+<span class="sourceLineNo">3536</span>    return this.&lt;CacheEvictionStats&gt; newAdminCaller().action((controller, stub) -&gt; this<a name="line.3536"></a>
+<span class="sourceLineNo">3537</span>      .&lt;ClearRegionBlockCacheRequest, ClearRegionBlockCacheResponse, CacheEvictionStats&gt; adminCall(<a name="line.3537"></a>
+<span class="sourceLineNo">3538</span>        controller, stub, RequestConverter.buildClearRegionBlockCacheRequest(hris),<a name="line.3538"></a>
+<span class="sourceLineNo">3539</span>        (s, c, req, done) -&gt; s.clearRegionBlockCache(controller, req, done),<a name="line.3539"></a>
+<span class="sourceLineNo">3540</span>        resp -&gt; ProtobufUtil.toCacheEvictionStats(resp.getStats())))<a name="line.3540"></a>
+<span class="sourceLineNo">3541</span>      .serverName(serverName).call();<a name="line.3541"></a>
+<span class="sourceLineNo">3542</span>  }<a name="line.3542"></a>
+<span class="sourceLineNo">3543</span>}<a name="line.3543"></a>
 
 
 


Mime
View raw message