You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2017/07/07 15:01:53 UTC

[01/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 53b1ea46f -> 1b6d8c106


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
index d58360f..81d859d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
@@ -46,743 +46,822 @@
 <span class="sourceLineNo">038</span><a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.fs.Path;<a name="line.39"></a>
 <span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HConstants;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.junit.Assert;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.junit.Test;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.junit.experimental.categories.Category;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.junit.runner.RunWith;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.junit.runners.Parameterized;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>/**<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * Class to test asynchronous table admin operations.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>@RunWith(Parameterized.class)<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@Category({LargeTests.class, ClientTests.class})<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class TestAsyncTableAdminApi extends TestAsyncAdminBase {<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  @Test<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public void testTableExist() throws Exception {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    boolean exist;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    exist = admin.tableExists(tableName).get();<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    assertEquals(false, exist);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    TEST_UTIL.createTable(tableName, FAMILY);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    exist = admin.tableExists(tableName).get();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    assertEquals(true, exist);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    exist = admin.tableExists(TableName.META_TABLE_NAME).get();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    assertEquals(true, exist);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @Test<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public void testListTables() throws Exception {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int numTables = admin.listTables().get().size();<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    final TableName tableName1 = TableName.valueOf(tableName.getNameAsString() + "1");<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "2");<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "3");<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    TableName[] tables = new TableName[] { tableName1, tableName2, tableName3 };<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      createTableWithDefaultConf(tables[i]);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>    List&lt;TableDescriptor&gt; tableDescs = admin.listTables().get();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    int size = tableDescs.size();<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    assertTrue(size &gt;= tables.length);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      boolean found = false;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      for (int j = 0; j &lt; size; j++) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        if (tableDescs.get(j).getTableName().equals(tables[i])) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>          found = true;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>          break;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>        }<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      assertTrue("Not found: " + tables[i], found);<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>    List&lt;TableName&gt; tableNames = admin.listTableNames().get();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    size = tableNames.size();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    assertTrue(size == (numTables + tables.length));<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      boolean found = false;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      for (int j = 0; j &lt; size; j++) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        if (tableNames.get(j).equals(tables[i])) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          found = true;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>          break;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      assertTrue("Not found: " + tables[i], found);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      admin.disableTable(tables[i]).join();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      admin.deleteTable(tables[i]).join();<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>    tableDescs = admin.listTables(Optional.empty(), true).get();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    assertTrue("Not found system tables", tableDescs.size() &gt; 0);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    tableNames = admin.listTableNames(Optional.empty(), true).get();<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    assertTrue("Not found system tables", tableNames.size() &gt; 0);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @Test<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public void testGetTableDescriptor() throws Exception {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    byte[][] families = { FAMILY, FAMILY_0, FAMILY_1 };<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    for (byte[] family : families) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(family).build());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    TableDescriptor desc = builder.build();<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    admin.createTable(desc).join();<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    ModifyableTableDescriptor modifyableDesc = ((ModifyableTableDescriptor) desc);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    TableDescriptor confirmedHtd = admin.getTableDescriptor(tableName).get();<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    assertEquals(modifyableDesc.compareTo((ModifyableTableDescriptor) confirmedHtd), 0);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  @Test<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public void testCreateTable() throws Exception {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    List&lt;TableDescriptor&gt; tables = admin.listTables().get();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    int numTables = tables.size();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    createTableWithDefaultConf(tableName);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    tables = admin.listTables().get();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    assertEquals(numTables + 1, tables.size());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    assertTrue("Table must be enabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        .getTableStateManager().isTableState(tableName, TableState.State.ENABLED));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName));<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private TableState.State getStateFromMeta(TableName table) throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    Optional&lt;TableState&gt; state = AsyncMetaTableAccessor.getTableState(<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      ASYNC_CONN.getRawTable(TableName.META_TABLE_NAME), table).get();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    assertTrue(state.isPresent());<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    return state.get().getState();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  }<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  @Test<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public void testCreateTableNumberOfRegions() throws Exception {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    RawAsyncTable metaTable = ASYNC_CONN.getRawTable(META_TABLE_NAME);<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    createTableWithDefaultConf(tableName);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    List&lt;HRegionLocation&gt; regionLocations =<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName)).get();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    assertEquals("Table should have only 1 region", 1, regionLocations.size());<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "_2");<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    createTableWithDefaultConf(tableName2, Optional.of(new byte[][] { new byte[] { 42 } }));<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    regionLocations =<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName2)).get();<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    assertEquals("Table should have only 2 region", 2, regionLocations.size());<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "_3");<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName3);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY).build());<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    admin.createTable(builder.build(), "a".getBytes(), "z".getBytes(), 3).join();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    regionLocations =<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName3)).get();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    assertEquals("Table should have only 3 region", 3, regionLocations.size());<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    final TableName tableName4 = TableName.valueOf(tableName.getNameAsString() + "_4");<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    builder = TableDescriptorBuilder.newBuilder(tableName4);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY).build());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    try {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      admin.createTable(builder.build(), "a".getBytes(), "z".getBytes(), 2).join();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      fail("Should not be able to create a table with only 2 regions using this API.");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    } catch (CompletionException e) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>    final TableName tableName5 = TableName.valueOf(tableName.getNameAsString() + "_5");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    builder = TableDescriptorBuilder.newBuilder(tableName5);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY).build());<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    admin.createTable(builder.build(), new byte[] { 1 }, new byte[] { 127 }, 16).join();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    regionLocations =<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName5)).get();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    assertEquals("Table should have 16 region", 16, regionLocations.size());<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Test<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public void testCreateTableWithRegions() throws Exception {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    byte[][] splitKeys = { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 }, new byte[] { 3, 3, 3 },<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        new byte[] { 4, 4, 4 }, new byte[] { 5, 5, 5 }, new byte[] { 6, 6, 6 },<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        new byte[] { 7, 7, 7 }, new byte[] { 8, 8, 8 }, new byte[] { 9, 9, 9 }, };<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    int expectedRegions = splitKeys.length + 1;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    createTableWithDefaultConf(tableName, Optional.of(splitKeys));<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>    boolean tableAvailable = admin.isTableAvailable(tableName, splitKeys).get();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    assertTrue("Table should be created with splitKyes + 1 rows in META", tableAvailable);<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>    RawAsyncTable metaTable = ASYNC_CONN.getRawTable(META_TABLE_NAME);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    List&lt;HRegionLocation&gt; regions =<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName)).get();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    Iterator&lt;HRegionLocation&gt; hris = regions.iterator();<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>    assertEquals(<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      expectedRegions, regions.size());<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    System.err.println("Found " + regions.size() + " regions");<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>    HRegionInfo hri;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    hris = regions.iterator();<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    hri = hris.next().getRegionInfo();<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    assertTrue(hri.getStartKey() == null || hri.getStartKey().length == 0);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[0]));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    hri = hris.next().getRegionInfo();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[0]));<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[1]));<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    hri = hris.next().getRegionInfo();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[1]));<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[2]));<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    hri = hris.next().getRegionInfo();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[2]));<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[3]));<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    hri = hris.next().getRegionInfo();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[3]));<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[4]));<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    hri = hris.next().getRegionInfo();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[4]));<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[5]));<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    hri = hris.next().getRegionInfo();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[5]));<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[6]));<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    hri = hris.next().getRegionInfo();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[6]));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[7]));<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    hri = hris.next().getRegionInfo();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[7]));<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[8]));<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    hri = hris.next().getRegionInfo();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[8]));<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    assertTrue(hri.getEndKey() == null || hri.getEndKey().length == 0);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    verifyRoundRobinDistribution(regions, expectedRegions);<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>    // Now test using start/end with a number of regions<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    // Use 80 bit numbers to make sure we aren't limited<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    byte[] startKey = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    byte[] endKey = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 };<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>    // Splitting into 10 regions, we expect (null,1) ... (9, null)<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    // with (1,2) (2,3) (3,4) (4,5) (5,6) (6,7) (7,8) (8,9) in the middle<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    expectedRegions = 10;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "_2");<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName2);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY).build());<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    admin.createTable(builder.build(), startKey, endKey, expectedRegions).join();<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    regions =<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName2)).get();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    assertEquals(<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      expectedRegions, regions.size());<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    System.err.println("Found " + regions.size() + " regions");<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>    hris = regions.iterator();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    hri = hris.next().getRegionInfo();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    assertTrue(hri.getStartKey() == null || hri.getStartKey().length == 0);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    hri = hris.next().getRegionInfo();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }));<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    hri = hris.next().getRegionInfo();<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }));<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    hri = hris.next().getRegionInfo();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }));<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }));<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    hri = hris.next().getRegionInfo();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }));<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    hri = hris.next().getRegionInfo();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }));<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }));<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    hri = hris.next().getRegionInfo();<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }));<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    hri = hris.next().getRegionInfo();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }));<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }));<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    hri = hris.next().getRegionInfo();<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }));<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }));<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    hri = hris.next().getRegionInfo();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }));<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    assertTrue(hri.getEndKey() == null || hri.getEndKey().length == 0);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    verifyRoundRobinDistribution(regions, expectedRegions);<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    // Try once more with something that divides into something infinite<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startKey = new byte[] { 0, 0, 0, 0, 0, 0 };<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    endKey = new byte[] { 1, 0, 0, 0, 0, 0 };<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    expectedRegions = 5;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "_3");<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    builder = TableDescriptorBuilder.newBuilder(tableName3);<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY).build());<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    admin.createTable(builder.build(), startKey, endKey, expectedRegions).join();<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>    regions =<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName3)).get();<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    assertEquals(<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      expectedRegions, regions.size());<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    System.err.println("Found " + regions.size() + " regions");<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    verifyRoundRobinDistribution(regions, expectedRegions);<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>    // Try an invalid case where there are duplicate split keys<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    splitKeys = new byte[][] { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 },<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        new byte[] { 3, 3, 3 }, new byte[] { 2, 2, 2 } };<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    final TableName tableName4 = TableName.valueOf(tableName.getNameAsString() + "_4");;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    try {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      createTableWithDefaultConf(tableName4, Optional.of(splitKeys));<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      fail("Should not be able to create this table because of " + "duplicate split keys");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } catch (CompletionException e) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  private void verifyRoundRobinDistribution(List&lt;HRegionLocation&gt; regions, int expectedRegions)<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    int numRS = ((ClusterConnection) TEST_UTIL.getConnection()).getCurrentNrHRS();<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    Map&lt;ServerName, List&lt;HRegionInfo&gt;&gt; server2Regions = new HashMap&lt;&gt;();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    regions.stream().forEach((loc) -&gt; {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      ServerName server = loc.getServerName();<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      server2Regions.computeIfAbsent(server, (s) -&gt; new ArrayList&lt;&gt;()).add(loc.getRegionInfo());<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    });<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (numRS &gt;= 2) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      // Ignore the master region server,<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      // which contains less regions by intention.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      numRS--;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    float average = (float) expectedRegions / numRS;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    int min = (int) Math.floor(average);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    int max = (int) Math.ceil(average);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    server2Regions.values().forEach((regionList) -&gt; {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      assertTrue(regionList.size() == min || regionList.size() == max);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    });<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  @Test<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  public void testCreateTableWithOnlyEmptyStartRow() throws Exception {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    byte[][] splitKeys = new byte[1][];<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    splitKeys[0] = HConstants.EMPTY_BYTE_ARRAY;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    try {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      createTableWithDefaultConf(tableName, Optional.of(splitKeys));<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      fail("Test case should fail as empty split key is passed.");<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    } catch (CompletionException e) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    }<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  @Test<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  public void testCreateTableWithEmptyRowInTheSplitKeys() throws Exception {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    byte[][] splitKeys = new byte[3][];<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    splitKeys[0] = "region1".getBytes();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    splitKeys[1] = HConstants.EMPTY_BYTE_ARRAY;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    splitKeys[2] = "region2".getBytes();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    try {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      createTableWithDefaultConf(tableName, Optional.of(splitKeys));<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      fail("Test case should fail as empty split key is passed.");<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } catch (CompletionException e) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  }<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Test<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public void testDeleteTable() throws Exception {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    createTableWithDefaultConf(tableName);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    assertTrue(admin.tableExists(tableName).get());<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    TEST_UTIL.getAdmin().disableTable(tableName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    admin.deleteTable(tableName).join();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    assertFalse(admin.tableExists(tableName).get());<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  @Test<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  public void testDeleteTables() throws Exception {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    TableName[] tables =<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        { TableName.valueOf(tableName.getNameAsString() + "1"),<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            TableName.valueOf(tableName.getNameAsString() + "2"),<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            TableName.valueOf(tableName.getNameAsString() + "3") };<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    Arrays.stream(tables).forEach((table) -&gt; {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      createTableWithDefaultConf(table);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      admin.tableExists(table).thenAccept((exist) -&gt; assertTrue(exist)).join();<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      admin.disableTable(table).join();<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    });<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    List&lt;TableDescriptor&gt; failed =<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        admin.deleteTables(Pattern.compile(tableName.getNameAsString() + ".*")).get();<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    assertEquals(0, failed.size());<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    Arrays.stream(tables).forEach((table) -&gt; {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      admin.tableExists(table).thenAccept((exist) -&gt; assertFalse(exist)).join();<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    });<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  @Test<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void testTruncateTable() throws Exception {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    testTruncateTable(tableName, false);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>  @Test<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  public void testTruncateTablePreservingSplits() throws Exception {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    testTruncateTable(tableName, true);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>  }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>  private void testTruncateTable(final TableName tableName, boolean preserveSplits)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      throws Exception {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    byte[][] splitKeys = new byte[2][];<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    splitKeys[0] = Bytes.toBytes(4);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    splitKeys[1] = Bytes.toBytes(8);<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>    // Create &amp; Fill the table<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    createTableWithDefaultConf(tableName, Optional.of(splitKeys));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    RawAsyncTable table = ASYNC_CONN.getRawTable(tableName);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    int expectedRows = 10;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    for (int i = 0; i &lt; expectedRows; i++) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      Put put = new Put(data);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      put.addColumn(FAMILY, null, data);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      table.put(put).join();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assertEquals(10, table.scanAll(new Scan()).get().size());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    assertEquals(3, TEST_UTIL.getHBaseCluster().getRegions(tableName).size());<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>    // Truncate &amp; Verify<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    admin.disableTable(tableName).join();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    admin.truncateTable(tableName, preserveSplits).join();<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    assertEquals(0, table.scanAll(new Scan()).get().size());<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (preserveSplits) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      assertEquals(3, TEST_UTIL.getHBaseCluster().getRegions(tableName).size());<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    } else {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      assertEquals(1, TEST_UTIL.getHBaseCluster().getRegions(tableName).size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @Test<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public void testDisableAndEnableTable() throws Exception {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    createTableWithDefaultConf(tableName);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    RawAsyncTable table = ASYNC_CONN.getRawTable(tableName);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    final byte[] row = Bytes.toBytes("row");<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    final byte[] qualifier = Bytes.toBytes("qualifier");<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    final byte[] value = Bytes.toBytes("value");<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    Put put = new Put(row);<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    put.addColumn(FAMILY, qualifier, value);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    table.put(put).join();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    Get get = new Get(row);<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    get.addColumn(FAMILY, qualifier);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    table.get(get).get();<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>    this.admin.disableTable(tableName).join();<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    assertTrue("Table must be disabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        .getTableStateManager().isTableState(tableName, TableState.State.DISABLED));<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    assertEquals(TableState.State.DISABLED, getStateFromMeta(tableName));<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span>    // Test that table is disabled<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    get = new Get(row);<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    get.addColumn(FAMILY, qualifier);<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    boolean ok = false;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    try {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      table.get(get).get();<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    } catch (ExecutionException e) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      ok = true;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    }<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    ok = false;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // verify that scan encounters correct exception<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    try {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      table.scanAll(new Scan()).get();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    } catch (ExecutionException e) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      ok = true;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    }<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    assertTrue(ok);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    this.admin.enableTable(tableName).join();<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    assertTrue("Table must be enabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        .getTableStateManager().isTableState(tableName, TableState.State.ENABLED));<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>    // Test that table is enabled<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    try {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      table.get(get).get();<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    } catch (Exception e) {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      ok = false;<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    assertTrue(ok);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Test<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public void testDisableAndEnableTables() throws Exception {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    final TableName tableName1 = TableName.valueOf(tableName.getNameAsString() + "1");<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "2");<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    createTableWithDefaultConf(tableName1);<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    createTableWithDefaultConf(tableName2);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    RawAsyncTable table1 = ASYNC_CONN.getRawTable(tableName1);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    RawAsyncTable table2 = ASYNC_CONN.getRawTable(tableName1);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final byte[] row = Bytes.toBytes("row");<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final byte[] qualifier = Bytes.toBytes("qualifier");<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final byte[] value = Bytes.toBytes("value");<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    Put put = new Put(row);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    put.addColumn(FAMILY, qualifier, value);<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    table1.put(put).join();<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    table2.put(put).join();<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    Get get = new Get(row);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    get.addColumn(FAMILY, qualifier);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    table1.get(get).get();<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    table2.get(get).get();<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    this.admin.disableTables(Pattern.compile(tableName.getNameAsString() + ".*")).join();<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    // Test that tables are disabled<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    get = new Get(row);<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    get.addColumn(FAMILY, qualifier);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    boolean ok = false;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    try {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      table1.get(get).get();<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    } catch (ExecutionException e) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      ok = true;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    assertTrue(ok);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    ok = false;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    try {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      table2.get(get).get();<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    } catch (ExecutionException e) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      ok = true;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    assertTrue(ok);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    assertEquals(TableState.State.DISABLED, getStateFromMeta(tableName1));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    assertEquals(TableState.State.DISABLED, getStateFromMeta(tableName2));<a name="line.552"></a>
-<span class="sourceLineNo">553</span><a name="line.553"></a>
-<span class="sourceLineNo">554</span>    this.admin.enableTables(Pattern.compile("testDisableAndEnableTables.*")).join();<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    // Test that tables are enabled<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    try {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      table1.get(get).get();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    } catch (Exception e) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      ok = false;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    try {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      table2.get(get).get();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    } catch (Exception e) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      ok = false;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    assertTrue(ok);<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName1));<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName2));<a name="line.569"></a>
-<span class="sourceLineNo">570</span>  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  @Test<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  public void testEnableTableRetainAssignment() throws Exception {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    byte[][] splitKeys =<a name="line.574"></a>
-<span class="sourceLineNo">575</span>        { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 }, new byte[] { 3, 3, 3 },<a name="line.575"></a>
-<span class="sourceLineNo">576</span>            new byte[] { 4, 4, 4 }, new byte[] { 5, 5, 5 }, new byte[] { 6, 6, 6 },<a name="line.576"></a>
-<span class="sourceLineNo">577</span>            new byte[] { 7, 7, 7 }, new byte[] { 8, 8, 8 }, new byte[] { 9, 9, 9 } };<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int expectedRegions = splitKeys.length + 1;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    createTableWithDefaultConf(tableName, Optional.of(splitKeys));<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    RawAsyncTable metaTable = ASYNC_CONN.getRawTable(META_TABLE_NAME);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    List&lt;HRegionLocation&gt; regions =<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName)).get();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    assertEquals(<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      expectedRegions, regions.size());<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // Disable table.<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    admin.disableTable(tableName).join();<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    // Enable table, use retain assignment to assign regions.<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    admin.enableTable(tableName).join();<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    List&lt;HRegionLocation&gt; regions2 =<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName)).get();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    // Check the assignment.<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    assertEquals(regions.size(), regions2.size());<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    assertTrue(regions2.containsAll(regions));<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  }<a name="line.598"></a>
-<span class="sourceLineNo">599</span><a name="line.599"></a>
-<span class="sourceLineNo">600</span>  @Test<a name="line.600"></a>
-<span class="sourceLineNo">601</span>  public void testDisableCatalogTable() throws Exception {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    try {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      this.admin.disableTable(TableName.META_TABLE_NAME).join();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      fail("Expected to throw ConstraintException");<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    } catch (Exception e) {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    }<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    // Before the fix for HBASE-6146, the below table creation was failing as the hbase:meta table<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    // actually getting disabled by the disableTable() call.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    createTableWithDefaultConf(tableName);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  @Test<a name="line.612"></a>
-<span class="sourceLineNo">613</span>  public void testAddColumnFamily() throws Exception {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    // Create a table with two families<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.615"></a>
-<span class="sourceLineNo">616</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).build());<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    admin.createTable(builder.build()).join();<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    admin.disableTable(tableName).join();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    // Verify the table descriptor<a name="line.619"></a>
-<span class="sourceLineNo">620</span>    verifyTableDescriptor(tableName, FAMILY_0);<a name="line.620"></a>
-<span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>    // Modify the table removing one family and verify the descriptor<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    admin.addColumnFamily(tableName, ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_1).build())<a name="line.623"></a>
-<span class="sourceLineNo">624</span>        .join();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1);<a name="line.625"></a>
-<span class="sourceLineNo">626</span>  }<a name="line.626"></a>
-<span class="sourceLineNo">627</span><a name="line.627"></a>
-<span class="sourceLineNo">628</span>  @Test<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  public void testAddSameColumnFamilyTwice() throws Exception {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    // Create a table with one families<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).build());<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    admin.createTable(builder.build()).join();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    admin.disableTable(tableName).join();<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    // Verify the table descriptor<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    verifyTableDescriptor(tableName, FAMILY_0);<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span>    // Modify the table removing one family and verify the descriptor<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    admin.addColumnFamily(tableName, ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_1).build())<a name="line.639"></a>
-<span class="sourceLineNo">640</span>        .join();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1);<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    try {<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // Add same column family again - expect failure<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      this.admin.addColumnFamily(tableName,<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_1).build()).join();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      Assert.fail("Delete a non-exist column family should fail");<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    } catch (Exception e) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      // Expected.<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    }<a name="line.650"></a>
-<span class="sourceLineNo">651</span>  }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>  @Test<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  public void testModifyColumnFamily() throws Exception {<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    TableDescriptorBuilder tdBuilder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    ColumnFamilyDescriptor cfd = ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).build();<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int blockSize = cfd.getBlocksize();<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    admin.createTable(tdBuilder.addColumnFamily(cfd).build()).join();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    admin.disableTable(tableName).join();<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // Verify the table descriptor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    verifyTableDescriptor(tableName, FAMILY_0);<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span>    int newBlockSize = 2 * blockSize;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    cfd = ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).setBlocksize(newBlockSize).build();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    // Modify colymn family<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    admin.modifyColumnFamily(tableName, cfd).join();<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>    TableDescriptor htd = admin.getTableDescriptor(tableName).get();<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    ColumnFamilyDescriptor hcfd = htd.getColumnFamily(FAMILY_0);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    assertTrue(hcfd.getBlocksize() == newBlockSize);<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>  @Test<a name="line.673"></a>
-<span class="sourceLineNo">674</span>  public void testModifyNonExistingColumnFamily() throws Exception {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    TableDescriptorBuilder tdBuilder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    ColumnFamilyDescriptor cfd = ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).build();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    int blockSize = cfd.getBlocksize();<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    admin.createTable(tdBuilder.addColumnFamily(cfd).build()).join();<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    admin.disableTable(tableName).join();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    // Verify the table descriptor<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    verifyTableDescriptor(tableName, FAMILY_0);<a name="line.681"></a>
-<span class="sourceLineNo">682</span><a name="line.682"></a>
-<span class="sourceLineNo">683</span>    int newBlockSize = 2 * blockSize;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    cfd = ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_1).setBlocksize(newBlockSize).build();<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>    // Modify a column family that is not in the table.<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    try {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      admin.modifyColumnFamily(tableName, cfd).join();<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      Assert.fail("Modify a non-exist column family should fail");<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    } catch (Exception e) {<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      // Expected.<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    }<a name="line.692"></a>
-<span class="sourceLineNo">693</span>  }<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>  @Test<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  public void testDeleteColumnFamily() throws Exception {<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    // Create a table with two families<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).build())<a name="line.699"></a>
-<span class="sourceLineNo">700</span>        .addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_1).build());<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    admin.createTable(builder.build()).join();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    admin.disableTable(tableName).join();<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    // Verify the table descriptor<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1);<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    // Modify the table removing one family and verify the descriptor<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    admin.deleteColumnFamily(tableName, FAMILY_1).join();<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    verifyTableDescriptor(tableName, FAMILY_0);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
-<span class="sourceLineNo">710</span><a name="line.710"></a>
-<span class="sourceLineNo">711</span>  @Test<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public void testDeleteSameColumnFamilyTwice() throws Exception {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    // Create a table with two families<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_0).build())<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        .addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_1).build());<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    admin.createTable(builder.build()).join();<a name="line.717"></a>
-<span class="sourceLineNo">718</span>    admin.disableTable(tableName).join();<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    // Verify the table descriptor<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>    // Modify the table removing one family and verify the descriptor<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    admin.deleteColumnFamily(tableName, FAMILY_1).join();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    verifyTableDescriptor(tableName, FAMILY_0);<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    try {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      // Delete again - expect failure<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      admin.deleteColumnFamily(tableName, FAMILY_1).join();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      Assert.fail("Delete a non-exist column family should fail");<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    } catch (Exception e) {<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      // Expected.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<a name="line.733"></a>
-<span class="sourceLineNo">734</span><a name="line.734"></a>
-<span class="sourceLineNo">735</span>  private void verifyTableDescriptor(final TableName tableName, final byte[]... families)<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      throws Exception {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // Verify descriptor from master<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    TableDescriptor htd = admin.getTableDescriptor(tableName).get();<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    verifyTableDescriptor(htd, tableName, families);<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
-<span class="sourceLineNo">741</span>    // Verify descriptor from HDFS<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    MasterFileSystem mfs = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterFileSystem();<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    Path tableDir = FSUtils.getTableDir(mfs.getRootDir(), tableName);<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    HTableDescriptor td =<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        FSTableDescriptors.getTableDescriptorFromFs(mfs.getFileSystem(), tableDir);<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    verifyTableDescriptor(td, tableName, families);<a name="line.746"></a>
-<span class="sourceLineNo">747</span>  }<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>  private void verifyTableDescriptor(final TableDescriptor htd, final TableName tableName,<a name="line.749"></a>
-<span class="sourceLineNo">750</span>      final byte[]... families) {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    Set&lt;byte[]&gt; htdFamilies = htd.getColumnFamilyNames();<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    assertEquals(tableName, htd.getTableName());<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    assertEquals(families.length, htdFamilies.size());<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    for (byte[] familyName : families) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      assertTrue("Expected family " + Bytes.toString(familyName), htdFamilies.contains(familyName));<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    }<a name="line.756"></a>
-<span class="sourceLineNo">757</span>  }<a name="line.757"></a>
-<span class="sourceLineNo">758</span><a name="line.758"></a>
-<span class="sourceLineNo">759</span>  @Test<a name="line.759"></a>
-<span class="sourceLineNo">760</span>  public void testIsTableEnabledAndDisabled() throws Exception {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>    createTableWithDefaultConf(tableName);<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    assertTrue(admin.isTableEnabled(tableName).get());<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    assertFalse(admin.isTableDisabled(tableName).get());<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    admin.disableTable(tableName).join();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    assertFalse(admin.isTableEnabled(tableName).get());<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    assertTrue(admin.isTableDisabled(tableName).get());<a name="line.766"></a>
-<span class="sourceLineNo">767</span>  }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>  @Test<a name="line.769"></a>
-<span class="sourceLineNo">770</span>  public void testTableAvailableWithRandomSplitKeys() throws Exception {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>    createTableWithDefaultConf(tableName);<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    byte[][] splitKeys = new byte[1][];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    splitKeys = new byte[][] { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 } };<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    boolean tableAvailable = admin.isTableAvailable(tableName, splitKeys).get();<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    assertFalse("Table should be created with 1 row in META", tableAvailable);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>}<a name="line.777"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.ServerName;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.TableName;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.junit.Assert;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.junit.Test;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.junit.experimental.categories.Category;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.junit.runner.RunWith;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.junit.runners.Parameterized;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>/**<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * Class to test asynchronous table admin operations.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>@RunWith(Parameterized.class)<a name="line.65"></a>
+<span class="sourceLineNo">066</span>@Category({LargeTests.class, ClientTests.class})<a name="line.66"></a>
+<span class="sourceLineNo">067</span>public class TestAsyncTableAdminApi extends TestAsyncAdminBase {<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>  @Test<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  public void testTableExist() throws Exception {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    boolean exist;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    exist = admin.tableExists(tableName).get();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    assertEquals(false, exist);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    TEST_UTIL.createTable(tableName, FAMILY);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    exist = admin.tableExists(tableName).get();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    assertEquals(true, exist);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    exist = admin.tableExists(TableName.META_TABLE_NAME).get();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    assertEquals(true, exist);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  @Test<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public void testListTables() throws Exception {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int numTables = admin.listTables().get().size();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    final TableName tableName1 = TableName.valueOf(tableName.getNameAsString() + "1");<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "2");<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "3");<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    TableName[] tables = new TableName[] { tableName1, tableName2, tableName3 };<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      createTableWithDefaultConf(tables[i]);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    List&lt;TableDescriptor&gt; tableDescs = admin.listTables().get();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int size = tableDescs.size();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    assertTrue(size &gt;= tables.length);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      boolean found = false;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      for (int j = 0; j &lt; size; j++) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>        if (tableDescs.get(j).getTableName().equals(tables[i])) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>          found = true;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          break;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      assertTrue("Not found: " + tables[i], found);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>    List&lt;TableName&gt; tableNames = admin.listTableNames().get();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    size = tableNames.size();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    assertTrue(size == (numTables + tables.length));<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      boolean found = false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      for (int j = 0; j &lt; size; j++) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        if (tableNames.get(j).equals(tables[i])) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          found = true;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>          break;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      assertTrue("Not found: " + tables[i], found);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      admin.disableTable(tables[i]).join();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      admin.deleteTable(tables[i]).join();<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    tableDescs = admin.listTables(Optional.empty(), true).get();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    assertTrue("Not found system tables", tableDescs.size() &gt; 0);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    tableNames = admin.listTableNames(Optional.empty(), true).get();<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    assertTrue("Not found system tables", tableNames.size() &gt; 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  @Test<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public void testGetTableDescriptor() throws Exception {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    byte[][] families = { FAMILY, FAMILY_0, FAMILY_1 };<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    for (byte[] family : families) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(family).build());<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    TableDescriptor desc = builder.build();<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    admin.createTable(desc).join();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    ModifyableTableDescriptor modifyableDesc = ((ModifyableTableDescriptor) desc);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    TableDescriptor confirmedHtd = admin.getTableDescriptor(tableName).get();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    assertEquals(modifyableDesc.compareTo((ModifyableTableDescriptor) confirmedHtd), 0);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  @Test<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  public void testCreateTable() throws Exception {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    List&lt;TableDescriptor&gt; tables = admin.listTables().get();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    int numTables = tables.size();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    createTableWithDefaultConf(tableName);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    tables = admin.listTables().get();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    assertEquals(numTables + 1, tables.size());<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    assertTrue("Table must be enabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        .getTableStateManager().isTableState(tableName, TableState.State.ENABLED));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName));<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private TableState.State getStateFromMeta(TableName table) throws Exception {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    Option

<TRUNCATED>

[20/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</spa

<TRUNCATED>

[10/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>

<TRUNCATED>

[16/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span

<TRUNCATED>

[30/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
index efc1a6a..8403c18 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2145">RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2171">RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AddColumnFamilyProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2147">AddColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2173">AddColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2151">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2177">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
index fb06c5e..403469c 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.249">RawAsyncHBaseAdmin.AdminRpcCall</a>&lt;RESP,REQ&gt;</pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.263">RawAsyncHBaseAdmin.AdminRpcCall</a>&lt;RESP,REQ&gt;</pre>
 </li>
 </ul>
 </div>
@@ -159,7 +159,7 @@ private static interface <a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html#line.250">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;stub,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html#line.264">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;stub,
           <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
           <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html" title="type parameter in RawAsyncHBaseAdmin.AdminRpcCall">REQ</a>&nbsp;req,
           org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html" title="type parameter in RawAsyncHBaseAdmin.AdminRpcCall">RESP</a>&gt;&nbsp;done)</pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
index 42b0fa0..7b797b2 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.255">RawAsyncHBaseAdmin.Converter</a>&lt;D,S&gt;</pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.269">RawAsyncHBaseAdmin.Converter</a>&lt;D,S&gt;</pre>
 </li>
 </ul>
 </div>
@@ -156,7 +156,7 @@ private static interface <a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>convert</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html" title="type parameter in RawAsyncHBaseAdmin.Converter">D</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html#line.256">convert</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html" title="type parameter in RawAsyncHBaseAdmin.Converter">S</a>&nbsp;src)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html" title="type parameter in RawAsyncHBaseAdmin.Converter">D</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html#line.270">convert</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html" title="type parameter in RawAsyncHBaseAdmin.Converter">S</a>&nbsp;src)
    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
index 9057e21..8dc8236 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2178">RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2204">RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CreateNamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2180">CreateNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2206">CreateNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2184">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2210">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
index f207b6a..c1db550 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2084">RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2110">RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CreateTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.2086">CreateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.2112">CreateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.2090">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.2116">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
index 4c7b7db..9933552 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2156">RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2182">RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DeleteColumnFamilyProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2158">DeleteColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2184">DeleteColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2162">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2188">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
index 968c4ab..3a98663 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2189">RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2215">RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DeleteNamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2191">DeleteNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2217">DeleteNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2195">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2221">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
index 5697d19..c62f41e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2095">RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2121">RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -244,7 +244,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DeleteTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2097">DeleteTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2123">DeleteTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -262,7 +262,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2101">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2127">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
@@ -275,7 +275,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onFinished</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2106">onFinished</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2132">onFinished</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#onFinished--">onFinished</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
index b342ac3..cc318ee 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2134">RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2160">RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DisableTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2136">DisableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2162">DisableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2140">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2166">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
index 9b32517..15a0915 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2123">RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2149">RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EnableTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2125">EnableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2151">EnableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2129">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2155">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
index 70b8d80..5897151 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.243">RawAsyncHBaseAdmin.MasterRpcCall</a>&lt;RESP,REQ&gt;</pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.257">RawAsyncHBaseAdmin.MasterRpcCall</a>&lt;RESP,REQ&gt;</pre>
 </li>
 </ul>
 </div>
@@ -159,7 +159,7 @@ private static interface <a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html#line.244">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html#line.258">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub,
           <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
           <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html" title="type parameter in RawAsyncHBaseAdmin.MasterRpcCall">REQ</a>&nbsp;req,
           org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html" title="type parameter in RawAsyncHBaseAdmin.MasterRpcCall">RESP</a>&gt;&nbsp;done)</pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
index 920fab8..3549ff9 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2211">RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2237">RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MergeTableRegionProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2213">MergeTableRegionProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2239">MergeTableRegionProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2217">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2243">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
index 485a266..e2811e0 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2167">RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2193">RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ModifyColumnFamilyProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2169">ModifyColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2195">ModifyColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2173">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2199">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
index 7959dac..ee02ecc 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2200">RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2226">RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ModifyNamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2202">ModifyNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2228">ModifyNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2206">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2232">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
index 8223cea..427d86f 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
@@ -126,7 +126,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2059">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2085">RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -248,7 +248,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>namespaceName</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2060">namespaceName</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2086">namespaceName</a></pre>
 </li>
 </ul>
 </li>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2062">NamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2088">NamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</pre>
 </li>
 </ul>
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre>abstract&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2067">getOperationType</a>()</pre>
+<pre>abstract&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2093">getOperationType</a>()</pre>
 </li>
 </ul>
 <a name="getDescription--">
@@ -292,7 +292,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>getDescription</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2069">getDescription</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2095">getDescription</a>()</pre>
 </li>
 </ul>
 <a name="onFinished--">
@@ -301,7 +301,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>onFinished</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2074">onFinished</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2100">onFinished</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#onFinished--">onFinished</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>
@@ -314,7 +314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2079">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2105">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#onError-java.lang.Throwable-">onError</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
index e9a72a9..2a58b36 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2012">RawAsyncHBaseAdmin.ProcedureBiConsumer</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2038">RawAsyncHBaseAdmin.ProcedureBiConsumer</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;</pre>
 </li>
@@ -226,7 +226,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>admin</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2013">admin</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2039">admin</a></pre>
 </li>
 </ul>
 </li>
@@ -243,7 +243,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2015">ProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2041">ProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin)</pre>
 </li>
 </ul>
 </li>
@@ -260,7 +260,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/
 <ul class="blockList">
 <li class="blockList">
 <h4>onFinished</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2019">onFinished</a>()</pre>
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2045">onFinished</a>()</pre>
 </li>
 </ul>
 <a name="onError-java.lang.Throwable-">
@@ -269,7 +269,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/
 <ul class="blockList">
 <li class="blockList">
 <h4>onError</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2021">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2047">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 </li>
 </ul>
 <a name="accept-java.lang.Void-java.lang.Throwable-">
@@ -278,7 +278,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>accept</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2024">accept</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;v,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#line.2050">accept</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;v,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
index 2d37c12..80e4d94 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.316">RawAsyncHBaseAdmin.TableOperator</a></pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.330">RawAsyncHBaseAdmin.TableOperator</a></pre>
 </li>
 </ul>
 </div>
@@ -154,7 +154,7 @@ private static interface <a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>operate</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html#line.317">operate</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html#line.331">operate</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
index 90bc7c8..82a7e54 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
@@ -126,7 +126,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2033">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2059">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -248,7 +248,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2034">tableName</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2060">tableName</a></pre>
 </li>
 </ul>
 </li>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2036">TableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2062">TableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre>abstract&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2041">getOperationType</a>()</pre>
+<pre>abstract&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2067">getOperationType</a>()</pre>
 </li>
 </ul>
 <a name="getDescription--">
@@ -292,7 +292,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>getDescription</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2043">getDescription</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2069">getDescription</a>()</pre>
 </li>
 </ul>
 <a name="onFinished--">
@@ -301,7 +301,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockList">
 <li class="blockList">
 <h4>onFinished</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2049">onFinished</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2075">onFinished</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#onFinished--">onFinished</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>
@@ -314,7 +314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2054">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2080">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html#onError-java.lang.Throwable-">onError</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
index eaf1c3d..98eb47e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2112">RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.2138">RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TruncateTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2114">TruncateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2140">TruncateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a>&nbsp;admin,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOperationType</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2118">getOperationType</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2144">getOperationType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>


[35/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index ada4075..945d1bd 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2017 The Apache Software Foundation</copyright>
     <item>
       <title>File: 2242,
-             Errors: 14686,
+             Errors: 14711,
              Warnings: 0,
              Infos: 0
       </title>
@@ -8987,7 +8987,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  92
+                  113
                 </td>
               </tr>
                           <tr>
@@ -19935,7 +19935,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  8
+                  12
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index dc26dd7..ba7651c 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3815,21 +3815,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Fri Jul  7 06:19:53 UTC 2017"</code></td>
+<td class="colLast"><code>"Fri Jul  7 14:39:22 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"4fe73857679ecba89a7edd3c17d9f92e4c0e2164"</code></td>
+<td class="colLast"><code>"b0a5fa0c2a119168c4272e5efba16a3ef9e9c329"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"f8db4c8dbd8071e110b06b155192969e"</code></td>
+<td class="colLast"><code>"28747e804e799f458cbf39955a61b430"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index d5b2248..441a4c7 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -33182,6 +33182,8 @@
 <dd>
 <div class="block">Get the info port of the backup master if it is available.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getBackupMasters--">getBackupMasters()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getBackupMastersSize--">getBackupMastersSize()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
@@ -34276,8 +34278,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getClusterStatus-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest-">getClusterStatus(RpcController, MasterProtos.GetClusterStatusRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#getClusterStatus--">getClusterStatus()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
@@ -34592,12 +34600,20 @@
 <dd>
 <div class="block">Get the current compaction state of a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the current compaction state of a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">getCompactionState(TableName, CompactType)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>
 <div class="block">Get the current compaction state of a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getCompactionState--">getCompactionState()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/Region.html#getCompactionState--">getCompactionState()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
@@ -34606,8 +34622,16 @@
 <dd>
 <div class="block">Get the current compaction state of region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the current compaction state of region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompactSplit.html#getCompactionThroughputController--">getCompactionThroughputController()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompactSplit.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplit</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/compactions/MobCompactionRequest.html#getCompactionType--">getCompactionType()</a></span> - Method in class org.apache.hadoop.hbase.mob.compactions.<a href="org/apache/hadoop/hbase/mob/compactions/MobCompactionRequest.html" title="class in org.apache.hadoop.hbase.mob.compactions">MobCompactionRequest</a></dt>
@@ -38916,8 +38940,16 @@
  The timestamp of the oldest HFile resulting from a major compaction of that table,
  or 0 if no such HFile could be found.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest-">getLastMajorCompactionTimestamp(RpcController, MasterProtos.MajorCompactionTimestampRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp(TableName)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
@@ -38930,8 +38962,16 @@
 <dd>
 <div class="block">Get the timestamp of the last major compaction for the passed region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the timestamp of the last major compaction for the passed region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getLastMajorCompactionTimestampForRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest-">getLastMajorCompactionTimestampForRegion(RpcController, MasterProtos.MajorCompactionTimestampForRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
@@ -39598,6 +39638,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.WalProcedureMap.html#getMapSlot-long-">getMapSlot(long)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.WalProcedureMap.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFormatReader.WalProcedureMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ClusterConnection.html#getMaster--">getMaster()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a></dt>
 <dd>
 <div class="block">Returns a <a href="org/apache/hadoop/hbase/client/MasterKeepAliveConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>MasterKeepAliveConnection</code></a> to the active master</div>
@@ -44299,6 +44341,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.CostFromRegionLoadFunction.html#getRegionLoadCost-java.util.Collection-">getRegionLoadCost(Collection&lt;BalancerRegionLoad&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.CostFromRegionLoadFunction.html" title="class in org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.CostFromRegionLoadFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads(ServerName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get a list of <a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads(ServerName, Optional&lt;TableName&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get a list of <a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads(ServerName, Optional&lt;TableName&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads(ServerName, Optional&lt;TableName&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/FSUtils.html#getRegionLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-java.lang.String-int-java.util.Map-java.util.Map-">getRegionLocalityMappingFromFS(Configuration, String, int, Map&lt;String, String&gt;, Map&lt;String, Map&lt;String, Float&gt;&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/FSUtils.html" title="class in org.apache.hadoop.hbase.util">FSUtils</a></dt>
 <dd>
 <div class="block">This function is to scan the root path of the file system to get either the
@@ -44630,6 +44684,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/LocalHBaseCluster.html#getRegionServers--">getRegionServers()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/LocalHBaseCluster.html" title="class in org.apache.hadoop.hbase">LocalHBaseCluster</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsMasterWrapper.html#getRegionServers--">getRegionServers()</a></span> - Method in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsMasterWrapper.html" title="interface in org.apache.hadoop.hbase.master">MetricsMasterWrapper</a></dt>
@@ -48789,8 +48845,16 @@
 <dd>
 <div class="block">Get the regions of a given table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the regions of a given table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions(TableName)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableRegions(Connection, TableName)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
 <dd>
 <div class="block">Gets all of the regions of the specified table.</div>
@@ -59786,8 +59850,16 @@
 <dd>
 <div class="block">Check whether Master is in maintenance mode</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Check whether master is in maintenance mode</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isMasterInMaintenanceMode-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest-">isMasterInMaintenanceMode(RpcController, MasterProtos.IsInMaintenanceModeRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterRpcServices.html#isMasterInMaintenanceMode-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest-">isMasterInMaintenanceMode(RpcController, MasterProtos.IsInMaintenanceModeRequest)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index a103fcb..ad66563 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -167,9 +167,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html b/devapidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
index 59e99f8..760058a 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
@@ -131,6 +131,27 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return types with arguments of type <a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
index 18c6b44..85f763f 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
@@ -1047,7 +1047,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
@@ -1060,15 +1060,29 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the regions of a given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html b/devapidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
index f1d1d34..e76872d 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
@@ -156,6 +156,29 @@
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getRegionLoad-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.TableName-">getRegionLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index 3558414..fdb7533 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -723,6 +723,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ZKAsyncRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ZKAsyncRegistry.html#getMasterAddress--">getMasterAddress</a></span>()</code>&nbsp;</td>
 </tr>
@@ -737,16 +745,20 @@
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getRegion-byte:A-">getRegion</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ZKAsyncRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ZKAsyncRegistry.html#getStateAndServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.ZooKeeperProtos.MetaRegionServer-">getStateAndServerName</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.ZooKeeperProtos.MetaRegionServer&nbsp;proto)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#listDrainingRegionServers--">listDrainingRegionServers</a></span>()</code>
 <div class="block">List region servers marked as draining to not get additional regions assigned to them.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#listDrainingRegionServers--">listDrainingRegionServers</a></span>()</code>&nbsp;</td>
 </tr>
@@ -1065,7 +1077,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;</code></td>
@@ -1090,6 +1102,29 @@
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaStatusCalls.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/QuotaStatusCalls.html#getRegionServerQuotaSnapshot-org.apache.hadoop.hbase.client.ClusterConnection-int-org.apache.hadoop.hbase.ServerName-">getRegionServerQuotaSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;clusterConn,
                             int&nbsp;timeout,


[05/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index 5db65f7..ff858d1 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/license.html
@@ -117,210 +117,7 @@
 <h2><a name="Project_Licenses"></a>Project Licenses</h2><a name="Project_Licenses"></a>
 <div class="section">
 <h3><a name="Apache_License_Version_2.0"></a>Apache License, Version 2.0</h3><a name="Apache_License_Version_2.0"></a>
-<div class="source">
-<pre>
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      &quot;control&quot; means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      &quot;Source&quot; form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      &quot;Object&quot; form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      &quot;Work&quot; shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      &quot;Contribution&quot; shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
-
-      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same &quot;printed page&quot; as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-</pre></div></div></div>
+<p>Can't read the url [https://www.apache.org/licenses/LICENSE-2.0.txt] : connect timed out</p></div></div>
       </div>
     </div>
     <div class="clear">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index 373fdf7..5f325ca 100644
--- a/hbase-spark/license.html
+++ b/hbase-spark/license.html
@@ -117,7 +117,210 @@
 <h2><a name="Project_Licenses"></a>Project Licenses</h2><a name="Project_Licenses"></a>
 <div class="section">
 <h3><a name="Apache_License_Version_2.0"></a>Apache License, Version 2.0</h3><a name="Apache_License_Version_2.0"></a>
-<p>Can't read the url [https://www.apache.org/licenses/LICENSE-2.0.txt] : connect timed out</p></div></div>
+<div class="source">
+<pre>
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      &quot;control&quot; means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      &quot;Source&quot; form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      &quot;Object&quot; form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      &quot;Work&quot; shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      &quot;Contribution&quot; shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
+
+      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same &quot;printed page&quot; as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</pre></div></div></div>
       </div>
     </div>
     <div class="clear">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index b9085b7..ddcaafb 100644
--- a/license.html
+++ b/license.html
@@ -281,7 +281,209 @@
 <h2><a name="Project_Licenses"></a>Project Licenses</h2><a name="Project_Licenses"></a>
 <div class="section">
 <h3><a name="Apache_License_Version_2.0"></a>Apache License, Version 2.0</h3><a name="Apache_License_Version_2.0"></a>
-<p>Can't read the url [https://www.apache.org/licenses/LICENSE-2.0.txt] : Read timed out</p></div></div>
+<div class="source"><pre class="prettyprint">
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      &quot;control&quot; means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      &quot;Source&quot; form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      &quot;Object&quot; form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      &quot;Work&quot; shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      &quot;Contribution&quot; shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
+
+      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same &quot;printed page&quot; as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</pre></div></div></div>
                   </div>
           </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index e72d9c0..d721e7e 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -547,6 +547,7 @@
 <li><a href="org/apache/hadoop/hbase/client/TestAsyncAggregationClient.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncAggregationClient</a></li>
 <li><a href="org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncBalancerAdminApi</a></li>
 <li><a href="org/apache/hadoop/hbase/client/example/TestAsyncClientExample.html" title="class in org.apache.hadoop.hbase.client.example" target="classFrame">TestAsyncClientExample</a></li>
+<li><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncClusterAdminApi</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">TestAsyncFSWAL</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRolling.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">TestAsyncLogRolling</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRollPeriod.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">TestAsyncLogRollPeriod</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index e08c13c..9983dcb 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -547,6 +547,7 @@
 <li><a href="org/apache/hadoop/hbase/client/TestAsyncAggregationClient.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAggregationClient</a></li>
 <li><a href="org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncBalancerAdminApi</a></li>
 <li><a href="org/apache/hadoop/hbase/client/example/TestAsyncClientExample.html" title="class in org.apache.hadoop.hbase.client.example">TestAsyncClientExample</a></li>
+<li><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestAsyncFSWAL</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRolling.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestAsyncLogRolling</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRollPeriod.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestAsyncLogRollPeriod</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 7b9c41b..e9a5d26 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -3562,6 +3562,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html#checkRegionIsOpened-org.apache.hadoop.hbase.HBaseTestingUtility-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.hbase.HRegionInfo-">checkRegionIsOpened(HBaseTestingUtility, HRegionServer, HRegionInfo)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerNoMaster</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#checkRegionsAndRegionLoads-java.util.Collection-java.util.Collection-">checkRegionsAndRegionLoads(Collection&lt;HRegionInfo&gt;, Collection&lt;RegionLoad&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestRegionLoad.html#checkRegionsAndRegionLoads-java.util.Collection-java.util.Collection-">checkRegionsAndRegionLoads(Collection&lt;HRegionInfo&gt;, Collection&lt;RegionLoad&gt;)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestRegionLoad.html" title="class in org.apache.hadoop.hbase">TestRegionLoad</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapred/TestTableInputFormat.html#checkResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.io.ImmutableBytesWritable-byte:A-byte:A-">checkResult(Result, ImmutableBytesWritable, byte[], byte[])</a></span> - Static method in class org.apache.hadoop.hbase.mapred.<a href="org/apache/hadoop/hbase/mapred/TestTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapred">TestTableInputFormat</a></dt>
@@ -4879,6 +4881,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestAvlUtil.TestAvlKeyComparator.html#compareKey-org.apache.hadoop.hbase.util.TestAvlUtil.TestAvlNode-java.lang.Object-">compareKey(TestAvlUtil.TestAvlNode, Object)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestAvlUtil.TestAvlKeyComparator.html" title="class in org.apache.hadoop.hbase.util">TestAvlUtil.TestAvlKeyComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#compareRegionLoads-java.util.Collection-java.util.Collection-">compareRegionLoads(Collection&lt;RegionLoad&gt;, Collection&lt;RegionLoad&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestRegionLoad.html#compareRegionLoads-java.util.Map-java.util.Map-">compareRegionLoads(Map&lt;byte[], RegionLoad&gt;, Map&lt;byte[], RegionLoad&gt;)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestRegionLoad.html" title="class in org.apache.hadoop.hbase">TestRegionLoad</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestPartialResultsFromClientSide.html#compareResults-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.client.Result-java.lang.String-">compareResults(Result, Result, String)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestPartialResultsFromClientSide.html" title="class in org.apache.hadoop.hbase">TestPartialResultsFromClientSide</a></dt>
@@ -6245,6 +6249,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestClassFinder.html#createAndLoadJar-java.lang.String-java.lang.String-long-">createAndLoadJar(String, String, long)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestClassFinder.html" title="class in org.apache.hadoop.hbase">TestClassFinder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#createAndLoadTable-org.apache.hadoop.hbase.TableName:A-">createAndLoadTable(TableName[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/http/HttpServerFunctionalTest.html#createAndStartTestServer--">createAndStartTestServer()</a></span> - Static method in class org.apache.hadoop.hbase.http.<a href="org/apache/hadoop/hbase/http/HttpServerFunctionalTest.html" title="class in org.apache.hadoop.hbase.http">HttpServerFunctionalTest</a></dt>
 <dd>
 <div class="block">Create and start a server with the test webapp</div>
@@ -38660,6 +38666,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/example/TestAsyncClientExample.html#TestAsyncClientExample--">TestAsyncClientExample()</a></span> - Constructor for class org.apache.hadoop.hbase.client.example.<a href="org/apache/hadoop/hbase/client/example/TestAsyncClientExample.html" title="class in org.apache.hadoop.hbase.client.example">TestAsyncClientExample</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncClusterAdminApi</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#TestAsyncClusterAdminApi--">TestAsyncClusterAdminApi()</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/AbstractTestIPC.html#testAsyncEcho--">testAsyncEcho()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/AbstractTestIPC.html" title="class in org.apache.hadoop.hbase.ipc">AbstractTestIPC</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.html#testAsyncFlushSnapshot--">testAsyncFlushSnapshot()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.snapshot">TestFlushSnapshotFromClient</a></dt>
@@ -40919,6 +40929,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAdmin1.html#testCompactionTimestamps--">testCompactionTimestamps()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAdmin1.html" title="class in org.apache.hadoop.hbase.client">TestAdmin1</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCompactionTimestamps--">testCompactionTimestamps()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableAdminApi</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/TestReplicationSmallTests.html#testCompactionWALEdits--">testCompactionWALEdits()</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestReplicationSmallTests.html" title="class in org.apache.hadoop.hbase.replication">TestReplicationSmallTests</a></dt>
 <dd>
 <div class="block">Test for HBASE-9038, Replication.scopeWALEdits would NPE if it wasn't filtering out
@@ -50675,6 +50687,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/TestMasterQosFunction.html#testRegionInTransition--">testRegionInTransition()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestMasterQosFunction.html" title="class in org.apache.hadoop.hbase.master">TestMasterQosFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#testRegionLoad--">testRegionLoad()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/TestRegionLoad.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">TestRegionLoad</span></a> - Class in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestRegionLoad.html#TestRegionLoad--">TestRegionLoad()</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestRegionLoad.html" title="class in org.apache.hadoop.hbase">TestRegionLoad</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
index ff4bb8f..53d1d98 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncBalancerAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNamespaceAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcedureAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncQuotaAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncReplicationAdminApi</a
 >, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSnapshotAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableAdminApi</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncBalancerAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNamespaceAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcedureAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncQuotaAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a>, <a hr
 ef="../../../../../org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncReplicationAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSnapshotAdminApi</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableAdminApi</a></dd>
 </dl>
 <hr>
 <br>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html
index 763bbaa..f1d4a23 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAggregationClient.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" target="_top">Frames</a></li>
@@ -259,7 +259,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAggregationClient.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html
new file mode 100644
index 0000000..060abf3
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestAsyncClusterAdminApi (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestAsyncClusterAdminApi (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestAsyncClusterAdminApi.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" target="_top">Frames</a></li>
+<li><a href="TestAsyncClusterAdminApi.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.client</div>
+<h2 title="Class TestAsyncClusterAdminApi" class="title">Class TestAsyncClusterAdminApi</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client.TestAsyncAdminBase</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.client.TestAsyncClusterAdminApi</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#line.49">TestAsyncClusterAdminApi</a>
+extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAdminBase</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAdminBase</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#admin">admin</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#ASYNC_CONN">ASYNC_CONN</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#FAMILY">FAMILY</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#FAMILY_0">FAMILY_0</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#FAMILY_1">FAMILY_1</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#getAdmin">getAdmin</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#LOG">LOG</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#tableName">tableName</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#TEST_UTIL">TEST_UTIL</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.ht
 ml#testName">testName</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#TestAsyncClusterAdminApi--">TestAsyncClusterAdminApi</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#checkRegionsAndRegionLoads-java.util.Collection-java.util.Collection-">checkRegionsAndRegionLoads</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.HRegionInfo&gt;&nbsp;regions,
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.RegionLoad&gt;&nbsp;regionLoads)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#compareRegionLoads-java.util.Collection-java.util.Collection-">compareRegionLoads</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.RegionLoad&gt;&nbsp;regionLoadCluster,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.RegionLoad&gt;&nbsp;regionLoads)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#createAndLoadTable-org.apache.hadoop.hbase.TableName:A-">createAndLoadTable</a></span>(org.apache.hadoop.hbase.TableName[]&nbsp;tables)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#testRegionLoad--">testRegionLoad</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAdminBase</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#createTableWithDefaultConf-org.apache.hadoop.hbase.TableName-">createTableWithDefaultConf</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#createTableWithDefaultConf-org.apache.hadoop.hbase.TableName-java.util.Optional-">createTableWithDefaultConf</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#createTableWithDefaultConf-org.apache.hadoop.hbase.TableName-java.util.Optional-byte:A...-">createTableWithDefaultConf</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#params--">params</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#setUp--">setUp</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#setUpBeforeClass--">setUpBeforeClass</a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#tearDown--">tearDown<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#tearDownAfterClass--">tearDownAfterClass</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestAsyncClusterAdminApi--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestAsyncClusterAdminApi</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#line.49">TestAsyncClusterAdminApi</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="testRegionLoad--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testRegionLoad</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#line.52">testRegionLoad</a>()
+                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compareRegionLoads-java.util.Collection-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compareRegionLoads</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#line.86">compareRegionLoads</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.RegionLoad&gt;&nbsp;regionLoadCluster,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.RegionLoad&gt;&nbsp;regionLoads)</pre>
+</li>
+</ul>
+<a name="checkRegionsAndRegionLoads-java.util.Collection-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkRegionsAndRegionLoads</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#line.104">checkRegionsAndRegionLoads</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.HRegionInfo&gt;&nbsp;regions,
+                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.RegionLoad&gt;&nbsp;regionLoads)</pre>
+</li>
+</ul>
+<a name="createAndLoadTable-org.apache.hadoop.hbase.TableName:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createAndLoadTable</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html#line.119">createAndLoadTable</a>(org.apache.hadoop.hbase.TableName[]&nbsp;tables)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestAsyncClusterAdminApi.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" target="_top">Frames</a></li>
+<li><a href="TestAsyncClusterAdminApi.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
index 12b1748..29472b1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -382,7 +382,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">


[22/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="l

<TRUNCATED>

[11/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="so

<TRUNCATED>

[13/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</spa

<TRUNCATED>

[28/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
index 23c80bc..09ba0ab 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
@@ -153,6 +153,43 @@ the order they are declared.</div>
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return types with arguments of type <a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the current compaction state of region.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index ea44ea7..6636400 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -531,25 +531,25 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index bbf68db..5bdab95 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -104,8 +104,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">EventType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">ExecutorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">EventType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 6a23ef3..5f78cec 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -175,14 +175,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 79b4a97..52e2101 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -274,11 +274,11 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 08990df..6db317d 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -341,9 +341,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index c73f25f..e458be7 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -197,8 +197,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 4ec2880..cc73422 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -313,9 +313,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index e0915a7..7c507cc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -211,9 +211,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 7247a7f..e10944e 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -422,16 +422,16 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index c4d8db1..4ec1ea3 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -199,11 +199,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockInfo.ResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.ResourceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockInfo.LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockInfo.ResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.ResourceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index dc422e2..349d807 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -201,13 +201,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.ViolationState.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSnapshotStore.ViolationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index d82e120..29a3d52 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -692,20 +692,20 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">StoreScanner.StoreScannerCompactionRace</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 9502da9..3073d6f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -125,10 +125,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 78d1305..a7b1555 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -137,8 +137,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 7c3df5f..9da8ca6 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -191,9 +191,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 59ab0ce..fc3b716 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -198,9 +198,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 7c3a452..48096fc 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -520,14 +520,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 53d258e..3bd3900 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -166,8 +166,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index c8ddc11..1453859 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "4fe73857679ecba89a7edd3c17d9f92e4c0e2164";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "b0a5fa0c2a119168c4272e5efba16a3ef9e9c329";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Fri Jul  7 06:19:53 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Fri Jul  7 14:39:22 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "f8db4c8dbd8071e110b06b155192969e";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "28747e804e799f458cbf39955a61b430";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


[09/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">5

<TRUNCATED>

[38/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html b/apidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
index 683e30c..6504731 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/CompactionState.html
@@ -138,6 +138,27 @@ the order they are declared.</div>
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return types with arguments of type <a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the current compaction state of region.</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>


[32/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
index d271132..8278dde 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":18,"i6":6,"i7":6,"i8":6,"i9":18,"i10":6,"i11":18,"i12":6,"i13":6,"i14":6,"i15":18,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":18,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":18,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":18,"i52":6,"i53":18,"i54":6,"i55":18,"i56":6,"i57":18,"i58":6,"i59":6,"i60":18,"i61":6,"i62":18,"i63":6,"i64":6,"i65":6,"i66":6,"i67":6,"i68":6,"i69":6,"i70":6,"i71":6,"i72":6,"i73":6,"i74":6,"i75":6,"i76":6,"i77":18,"i78":18,"i79":6,"i80":6,"i81":18,"i82":6,"i83":6,"i84":6,"i85":6,"i86":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":18,"i6":6,"i7":6,"i8":6,"i9":18,"i10":6,"i11":18,"i12":6,"i13":6,"i14":6,"i15":18,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":18,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":18,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":18,"i43":6,"i44":6,"i45":6,"i46":18,"i47":6,"i48":18,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":18,"i57":6,"i58":6,"i59":6,"i60":6,"i61":6,"i62":6,"i63":18,"i64":6,"i65":18,"i66":6,"i67":18,"i68":6,"i69":18,"i70":6,"i71":6,"i72":18,"i73":6,"i74":18,"i75":6,"i76":6,"i77":6,"i78":6,"i79":6,"i80":6,"i81":6,"i82":6,"i83":6,"i84":6,"i85":6,"i86":6,"i87":6,"i88":6,"i89":18,"i90":18,"i91":6,"i92":6,"i93":18,"i94":6,"i95":6,"i96":6,"i97":6,"i98":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Public</a>
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.47">AsyncAdmin</a></pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.50">AsyncAdmin</a></pre>
 <div class="block">The asynchronous administrative API for HBase.
  <p>
  This feature is still under development, so marked as IA.Private. Will change to public when
@@ -364,42 +364,107 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </td>
 </tr>
 <tr id="i36" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the current compaction state of region.</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed region.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getNamespaceDescriptor-java.lang.String-">getNamespaceDescriptor</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get a namespace descriptor by name</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Get all the online regions on a region server.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getQuota-org.apache.hadoop.hbase.quotas.QuotaFilter-">getQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>
 <div class="block">List the quotas based on the filter.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">getTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Method for getting the tableDescriptor</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Query the current state of the balancer.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode</a></span>()</code>
+<div class="block">Check whether master is in maintenance mode</div>
+</td>
+</tr>
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isProcedureFinished-java.lang.String-java.lang.String-java.util.Map-">isProcedureFinished</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;signature,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instance,
@@ -407,17 +472,17 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Check the current state of the specified procedure.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isSnapshotFinished-org.apache.hadoop.hbase.client.SnapshotDescription-">isSnapshotFinished</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Check the current state of the passed snapshot.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -425,83 +490,83 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listNamespaceDescriptors--">listNamespaceDescriptors</a></span>()</code>
 <div class="block">List available namespace descriptors</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listProcedures--">listProcedures</a></span>()</code>
 <div class="block">List procedures</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicatedTableCFs--">listReplicatedTableCFs</a></span>()</code>
 <div class="block">Find all table and column families that are replicated from this cluster</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers--">listReplicationPeers</a></span>()</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers-java.util.Optional-">listReplicationPeers</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots--">listSnapshots</a></span>()</code>
 <div class="block">List completed snapshots.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots-java.util.Optional-">listSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">List all the completed snapshots matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a></span>()</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.Optional-boolean-">listTableNames</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
               boolean&nbsp;includeSysTables)</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables--">listTables</a></span>()</code>
 <div class="block">List all the userspace tables.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-">listTables</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
           boolean&nbsp;includeSysTables)</code>
 <div class="block">List all the tables matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-">listTableSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;tableNamePattern,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;snapshotNamePattern)</code>
@@ -509,39 +574,39 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
  name regular expression.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Major compact a region.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-java.util.Optional-">majorCompactRegion</a></span>(byte[]&nbsp;regionName,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within region.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegionServer-org.apache.hadoop.hbase.ServerName-">majorCompactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Compact all regions on the region server.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#mergeRegions-byte:A-byte:A-boolean-">mergeRegions</a></span>(byte[]&nbsp;nameOfRegionA,
             byte[]&nbsp;nameOfRegionB,
@@ -549,84 +614,84 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Merge two regions.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
 <div class="block">Modify an existing namespace.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#move-byte:A-java.util.Optional-">move</a></span>(byte[]&nbsp;regionName,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;destServerName)</code>
 <div class="block">Move the region <code>r</code> to <code>dest</code>.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#offline-byte:A-">offline</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Remove a peer and stop the replication</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</code>
 <div class="block">Remove some table-cfs from config of the specified peer</div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-boolean-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setBalancerOn-boolean-">setBalancerOn</a></span>(boolean&nbsp;on)</code>
 <div class="block">Turn the load balancer on or off.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setQuota-org.apache.hadoop.hbase.quotas.QuotaSettings-">setQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)</code>
 <div class="block">Apply the new quota settings.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously.</div>
 </td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -634,51 +699,51 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-java.util.Optional-">splitRegion</a></span>(byte[]&nbsp;regionName,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;splitPoint)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#unassign-byte:A-boolean-">unassign</a></span>(byte[]&nbsp;regionName,
         boolean&nbsp;forcible)</code>
 <div class="block">Unassign a region from current hosting regionserver.</div>
 </td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
@@ -706,7 +771,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>tableExists</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.54">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.57">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>tableName</code> - Table to check.</dd>
@@ -722,7 +787,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTables</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.61">listTables</a>()</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.64">listTables</a>()</pre>
 <div class="block">List all the userspace tables.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -738,7 +803,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.71">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.74">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
                                                     boolean&nbsp;includeSysTables)</pre>
 <div class="block">List all the tables matching the given pattern.</div>
 <dl>
@@ -756,7 +821,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.79">listTableNames</a>()</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.82">listTableNames</a>()</pre>
 <div class="block">List all of the names of userspace tables.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -772,7 +837,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.89">listTableNames</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.92">listTableNames</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
                                                   boolean&nbsp;includeSysTables)</pre>
 <div class="block">List all of the names of userspace tables.</div>
 <dl>
@@ -790,7 +855,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.97">getTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.100">getTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Method for getting the tableDescriptor</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -806,7 +871,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.103">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.106">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
 <div class="block">Creates a new table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -820,7 +885,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.118">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.121">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                                     byte[]&nbsp;startKey,
                                     byte[]&nbsp;endKey,
                                     int&nbsp;numRegions)</pre>
@@ -844,7 +909,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.128">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.131">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[][]&gt;&nbsp;splitKeys)</pre>
 <div class="block">Creates a new table with an initial set of empty regions defined by the specified split keys.
  The total number of regions created will be the number of split keys plus one.
@@ -862,7 +927,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.134">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.137">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Deletes a table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -876,7 +941,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.145">deleteTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.148">deleteTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Delete tables matching the passed in pattern and wait on completion. Warning: Use this method
  carefully, there is no prompting and the effect is immediate. Consider using
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.Optional-boolean-"><code>listTableNames(Optional, boolean)</code></a> and
@@ -896,7 +961,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.152">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.155">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                       boolean&nbsp;preserveSplits)</pre>
 <div class="block">Truncate a table.</div>
 <dl>
@@ -912,7 +977,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.158">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.161">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Enable a table. The table has to be in disabled state for it to be enabled.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -926,7 +991,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.168">enableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.171">enableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no
  prompting and the effect is immediate. Consider using <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-"><code>listTables(Optional, boolean)</code></a> and
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-"><code>enableTable(TableName)</code></a></div>
@@ -945,7 +1010,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.174">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.177">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Disable a table. The table has to be in enabled state for it to be disabled.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -959,7 +1024,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.184">disableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.187">disableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no
  prompting and the effect is immediate. Consider using <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-"><code>listTables(Optional, boolean)</code></a> and
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-"><code>disableTable(TableName)</code></a></div>
@@ -978,7 +1043,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableEnabled</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.

<TRUNCATED>

[36/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index df5ab4d..d0dbe7d 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -289,7 +289,7 @@
 <td>2242</td>
 <td>0</td>
 <td>0</td>
-<td>14686</td></tr></table></div>
+<td>14711</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -762,7 +762,7 @@
 <td><a href="#org.apache.hadoop.hbase.client.AsyncAdmin.java">org/apache/hadoop/hbase/client/AsyncAdmin.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>8</td></tr>
+<td>12</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.client.AsyncAdminBuilder.java">org/apache/hadoop/hbase/client/AsyncAdminBuilder.java</a></td>
 <td>0</td>
@@ -1057,7 +1057,7 @@
 <td><a href="#org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.java">org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>92</td></tr>
+<td>113</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.client.RawAsyncTable.java">org/apache/hadoop/hbase/client/RawAsyncTable.java</a></td>
 <td>0</td>
@@ -7312,7 +7312,7 @@
 <tr class="a">
 <td>imports</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#AvoidStarImport">AvoidStarImport</a></td>
-<td>15</td>
+<td>16</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td></td>
@@ -7321,7 +7321,7 @@
 <li>ordered: <tt>&quot;true&quot;</tt></li>
 <li>sortStaticImportsAlphabetically: <tt>&quot;true&quot;</tt></li>
 <li>option: <tt>&quot;top&quot;</tt></li></ul></td>
-<td>934</td>
+<td>936</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
@@ -7333,7 +7333,7 @@
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#UnusedImports">UnusedImports</a>
 <ul>
 <li>processJavadoc: <tt>&quot;true&quot;</tt></li></ul></td>
-<td>93</td>
+<td>94</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td>indentation</td>
@@ -7344,19 +7344,19 @@
 <li>caseIndent: <tt>&quot;2&quot;</tt></li>
 <li>basicOffset: <tt>&quot;2&quot;</tt></li>
 <li>lineWrappingIndentation: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>5155</td>
+<td>5171</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>javadoc</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>799</td>
+<td>793</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3229</td>
+<td>3238</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -7374,7 +7374,7 @@
 <ul>
 <li>max: <tt>&quot;100&quot;</tt></li>
 <li>ignorePattern: <tt>&quot;^package.*|^import.*|a href|href|http://|https://|ftp://|org.apache.thrift.|com.google.protobuf.|hbase.protobuf.generated&quot;</tt></li></ul></td>
-<td>941</td>
+<td>943</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
@@ -13212,7 +13212,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 43 has parse error. Missed HTML close tag 'TableName'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>181</td></tr>
 <tr class="b">
@@ -14838,51 +14838,75 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
+<td>UnusedImports</td>
+<td>Unused import - java.io.IOException.</td>
+<td>20</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.util.Collection' import.</td>
-<td>21</td></tr>
-<tr class="a">
+<td>22</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.NamespaceDescriptor' import.</td>
-<td>30</td></tr>
-<tr class="b">
+<td>33</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.client.replication.TableCFs' import.</td>
-<td>35</td></tr>
-<tr class="a">
+<td>38</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>162</td></tr>
-<tr class="b">
+<td>165</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>172</td></tr>
-<tr class="a">
+<td>175</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>178</td></tr>
-<tr class="b">
+<td>181</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
-<td>181</td></tr>
+<td>184</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
+<td>At-clause should have a non-empty description.</td>
+<td>288</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>285</td></tr></table></div>
+<td>836</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
+<td>At-clause should have a non-empty description.</td>
+<td>845</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
+<td>At-clause should have a non-empty description.</td>
+<td>846</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncAdminBuilder.java">org/apache/hadoop/hbase/client/AsyncAdminBuilder.java</h3>
 <table border="0" class="table table-striped">
@@ -15071,19 +15095,19 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.NamespaceDescriptor' import.</td>
-<td>33</td></tr>
+<td>35</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>218</td></tr>
+<td>220</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>390</td></tr></table></div>
+<td>397</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncMetaRegionLocator.java">org/apache/hadoop/hbase/client/AsyncMetaRegionLocator.java</h3>
 <table border="0" class="table table-striped">
@@ -16596,7 +16620,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 64 has parse error. Missed HTML close tag 'code'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>1956</td></tr>
 <tr class="a">
@@ -18029,557 +18053,683 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.NamespaceDescriptor' import.</td>
-<td>57</td></tr>
+<td>59</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.HConstants' import.</td>
-<td>58</td></tr>
+<td>60</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.AsyncMetaTableAccessor' import.</td>
-<td>61</td></tr>
+<td>63</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest' import.</td>
-<td>114</td></tr>
+<td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType' import.</td>
+<td>102</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
+<td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest' import.</td>
+<td>121</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>imports</td>
+<td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest' import.</td>
-<td>130</td></tr>
+<td>139</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>imports</td>
+<td>AvoidStarImport</td>
+<td>Using the '.*' form of import should be avoided - org.apache.hadoop.hbase.shaded.protobuf.generated.*.</td>
+<td>195</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>imports</td>
+<td>ImportOrder</td>
+<td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.*' import.</td>
+<td>195</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 10, expected level should be 22.</td>
-<td>385</td></tr>
-<tr class="b">
+<td>399</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>386</td></tr>
-<tr class="a">
+<td>400</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>387</td></tr>
-<tr class="b">
+<td>401</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 10, expected level should be 22.</td>
-<td>388</td></tr>
-<tr class="a">
+<td>402</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 10, expected level should be 22.</td>
-<td>389</td></tr>
-<tr class="b">
+<td>403</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>390</td></tr>
-<tr class="a">
+<td>404</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 10, expected level should be 22.</td>
-<td>391</td></tr>
-<tr class="b">
+<td>405</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>392</td></tr>
-<tr class="a">
+<td>406</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 10, expected level should be 22.</td>
-<td>393</td></tr>
-<tr class="b">
+<td>407</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 8, expected level should be 20.</td>
-<td>394</td></tr>
-<tr class="a">
+<td>408</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>583</td></tr>
-<tr class="b">
+<td>597</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
-<td>590</td></tr>
-<tr class="a">
+<td>604</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>644</td></tr>
-<tr class="b">
+<td>658</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 115).</td>
-<td>656</td></tr>
-<tr class="a">
+<td>670</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>689</td></tr>
-<tr class="b">
+<td>703</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>696</td></tr>
-<tr class="a">
+<td>710</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 14, expected level should be 18.</td>
-<td>795</td></tr>
-<tr class="b">
+<td>821</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 16, expected level should be 20.</td>
-<td>796</td></tr>
-<tr class="a">
+<td>822</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 14, expected level should be 18.</td>
-<td>797</td></tr>
-<tr class="b">
+<td>823</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 16, expected level should be 20.</td>
-<td>798</td></tr>
-<tr class="a">
+<td>824</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 14, expected level should be 18.</td>
-<td>799</td></tr>
-<tr class="b">
+<td>825</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 12, expected level should be 16.</td>
-<td>800</td></tr>
-<tr class="a">
+<td>826</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
-<td>821</td></tr>
-<tr class="b">
+<td>847</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>844</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>blocks</td>
-<td>NeedBraces</td>
-<td>'if' construct must use '{}'s.</td>
-<td>931</td></tr>
+<td>870</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>932</td></tr>
+<td>957</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1073</td></tr>
+<td>958</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1079</td></tr>
+<td>1099</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>blocks</td>
+<td>NeedBraces</td>
+<td>'if' construct must use '{}'s.</td>
+<td>1105</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 14, expected level should be 18.</td>
-<td>1193</td></tr>
-<tr class="b">
+<td>1219</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 16, expected level should be 20.</td>
-<td>1194</td></tr>
-<tr class="a">
+<td>1220</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 14, expected level should be 18.</td>
-<td>1195</td></tr>
-<tr class="b">
+<td>1221</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 16, expected level should be 20.</td>
-<td>1196</td></tr>
-<tr class="a">
+<td>1222</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 14, expected level should be 18.</td>
-<td>1197</td></tr>
-<tr class="b">
+<td>1223</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 12, expected level should be 16.</td>
-<td>1198</td></tr>
-<tr class="a">
+<td>1224</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>1216</td></tr>
-<tr class="b">
+<td>1242</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 14, expected level should be 18.</td>
-<td>1244</td></tr>
-<tr class="a">
+<td>1270</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 16, expected level should be 20.</td>
-<td>1245</td></tr>
-<tr class="b">
+<td>1271</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 14, expected level should be 18.</td>
-<td>1246</td></tr>
-<tr class="a">
+<td>1272</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 16, expected level should be 20.</td>
-<td>1247</td></tr>
-<tr class="b">
+<td>1273</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 14, expected level should be 18.</td>
-<td>1248</td></tr>
-<tr class="a">
+<td>1274</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 12, expected level should be 16.</td>
-<td>1249</td></tr>
-<tr class="b">
+<td>1275</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 14, expected level should be 22.</td>
-<td>1269</td></tr>
-<tr class="a">
+<td>1295</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 16, expected level should be 24.</td>
-<td>1270</td></tr>
-<tr class="b">
+<td>1296</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 14, expected level should be 22.</td>
-<td>1271</td></tr>
-<tr class="a">
+<td>1297</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 16, expected level should be 24.</td>
-<td>1272</td></tr>
-<tr class="b">
+<td>1298</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 14, expected level should be 22.</td>
-<td>1273</td></tr>
-<tr class="a">
+<td>1299</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 12, expected level should be 20.</td>
-<td>1274</td></tr>
-<tr class="b">
+<td>1300</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 111).</td>
-<td>1372</td></tr>
-<tr class="a">
+<td>1398</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>1439</td></tr>
-<tr class="b">
+<td>1465</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
-<td>1444</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>indentation</td>
-<td>Indentation</td>
-<td>'if' have incorrect indentation level 10, expected level should be 14.</td>
-<td>1494</td></tr>
+<td>1470</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if' child have incorrect indentation level 12, expected level should be 16.</td>
-<td>1495</td></tr>
+<td>'if' have incorrect indentation level 10, expected level should be 14.</td>
+<td>1520</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 16.</td>
-<td>1496</td></tr>
+<td>1521</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if rcurly' have incorrect indentation level 10, expected level should be 14.</td>
-<td>1497</td></tr>
+<td>'if' child have incorrect indentation level 12, expected level should be 16.</td>
+<td>1522</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
-<td>1498</td></tr>
+<td>'if rcurly' have incorrect indentation level 10, expected level should be 14.</td>
+<td>1523</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'else' child have incorrect indentation level 18, expected level should be 20.</td>
-<td>1514</td></tr>
+<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
+<td>1524</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 18, expected level should be 20.</td>
-<td>1516</td></tr>
+<td>1540</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 18, expected level should be 20.</td>
-<td>1517</td></tr>
+<td>1542</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'else rcurly' have incorrect indentation level 16, expected level should be 18.</td>
-<td>1519</td></tr>
+<td>'else' child have incorrect indentation level 18, expected level should be 20.</td>
+<td>1543</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'block rcurly' have incorrect indentation level 14, expected level should be 16.</td>
-<td>1520</td></tr>
+<td>'else rcurly' have incorrect indentation level 16, expected level should be 18.</td>
+<td>1545</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'block rcurly' have incorrect indentation level 14, expected level should be 16.</td>
+<td>1546</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>1520</td></tr>
-<tr class="b">
+<td>1546</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
-<td>1528</td></tr>
-<tr class="a">
+<td>1554</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 8, expected level should be 12.</td>
-<td>1529</td></tr>
-<tr class="b">
+<td>1555</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>1555</td></tr>
-<tr class="a">
+<td>1581</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 14, expected level should be 16.</td>
-<td>1584</td></tr>
-<tr class="b">
+<td>1610</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 12, expected level should be 14.</td>
-<td>1586</td></tr>
-<tr class="a">
+<td>1612</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 14, expected level should be 16.</td>
-<td>1587</td></tr>
-<tr class="b">
+<td>1613</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 12, expected level should be 14.</td>
-<td>1598</td></tr>
-<tr class="a">
+<td>1624</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 10, expected level should be 12.</td>
-<td>1599</td></tr>
-<tr class="b">
+<td>1625</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>1599</td></tr>
-<tr class="a">
+<td>1625</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 8, expected level should be 10.</td>
-<td>1622</td></tr>
-<tr class="b">
+<td>1648</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 10, expected level should be 12.</td>
-<td>1625</td></tr>
-<tr class="a">
+<td>1651</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 8, expected level should be 10.</td>
-<td>1635</td></tr>
-<tr class="b">
+<td>1661</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 10, expected level should be 12.</td>
-<td>1637</td></tr>
-<tr class="a">
+<td>1663</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 10, expected level should be 12.</td>
-<td>1638</td></tr>
-<tr class="b">
+<td>1664</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 8, expected level should be 10.</td>
-<td>1648</td></tr>
-<tr class="a">
+<td>1674</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 6, expected level should be 8.</td>
-<td>1649</td></tr>
-<tr class="b">
+<td>1675</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>1649</td></tr>
-<tr class="a">
+<td>1675</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 6, expected level should be 8.</td>
-<td>1650</td></tr>
-<tr class="b">
+<td>1676</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 4, expected level should be 6.</td>
-<td>1651</td></tr>
-<tr class="a">
+<td>1677</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>1651</td></tr>
-<tr class="b">
+<td>1677</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>1684</td></tr>
-<tr class="a">
+<td>1710</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 113).</td>
-<td>1707</td></tr>
-<tr class="b">
+<td>1733</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1911</td></tr>
-<tr class="a">
+<td>1937</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1954</td></tr>
+<td>1980</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>sizes</td>
+<td>LineLength</td>
+<td>Line is longer than 100 characters (found 104).</td>
+<td>2264</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'case' child have incorrect indentation level 18, expected level should be 20.</td>
+<td>2377</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'if' have incorrect indentation level 20, expected level should be 22.</td>
+<td>2378</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'if' child have incorrect indentation level 22, expected level should be 24.</td>
+<td>2379</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'if rcurly' have incorrect indentation level 20, expected level should be 22.</td>
+<td>2380</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'else' child have incorrect indentation level 22, expected level should be 24.</td>
+<td>2381</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'else rcurly' have incorrect indentation level 20, expected level should be 22.</td>
+<td>2382</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'block' child have incorrect indentation level 20, expected level should be 22.</td>
+<td>2383</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'case' child have incorrect indentation level 18, expected level should be 20.</td>
+<td>2384</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'if' have incorrect indentation level 20, expected level should be 22.</td>
+<td>2385</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'if' child have incorrect indentation level 22, expected level should be 24.</td>
+<td>2386</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'if rcurly' have incorrect indentation level 20, expected level should be 22.</td>
+<td>2387</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'else' child have incorrect indentation level 22, expected level should be 24.</td>
+<td>2388</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'else rcurly' have incorrect indentation level 20, expected level should be 22.</td>
+<td>2389</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'block' child have incorrect indentation level 20, expected level should be 22.</td>
+<td>2390</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'case' child have incorrect indentation level 18, expected level should be 20.</td>
+<td>2391</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'case' child have incorrect indentation level 18, expected level should be 20.</td>
+<td>2392</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>2238</td></tr></table></div>
+<td>2450</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>sizes</td>
+<td>LineLength</td>
+<td>Line is longer than 100 characters (found 121).</td>
+<td>2475</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RawAsyncTable.java">org/apache/hadoop/hbase/client/RawAsyncTable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -18588,13 +18738,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RawScanResultConsumer.java">org/apache/hadoop/hbase/client/RawScanResultConsumer.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>RedundantImport</td>
@@ -18603,25 +18753,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionAdminServiceCallable.java">org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>196</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>197</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -18630,13 +18780,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionCoprocessorRpcChannel.java">org/apache/hadoop/hbase/client/RegionCoprocessorRpcChannel.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -18645,13 +18795,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionCoprocessorServiceExec.java">org/apache/hadoop/hbase/client/RegionCoprocessorServiceExec.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -18660,43 +18810,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionReplicaUtil.java">org/apache/hadoop/hbase/client/RegionReplicaUtil.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>58</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>80</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>98</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 10, expected level should be 8.</td>
 <td>133</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -18705,13 +18855,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionServerCallable.java">org/apache/hadoop/hbase/client/RegionServerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -18720,25 +18870,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Registry.java">org/apache/hadoop/hbase/client/Registry.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>33</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>39</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -18747,13 +18897,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegistryFactory.java">org/apache/hadoop/hbase/client/RegistryFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -18762,31 +18912,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RequestController.java">org/apache/hadoop/hbase/client/RequestController.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>67</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>101</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>104</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -18795,19 +18945,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RequestControllerFactory.java">org/apache/hadoop/hbase/client/RequestControllerFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
 <td>29</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -18816,73 +18966,73 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Result.java">org/apache/hadoop/hbase/client/Result.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>256</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>258</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>364</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>368</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>396</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
 <td>676</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>850</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>867</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>868</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>886</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -18891,43 +19041,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ResultBoundedCompletionService.java">org/apache/hadoop/hbase/client/ResultBoundedCompletionService.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>101</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>103</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'while' construct must use '{}'s.</td>
 <td>177</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>258</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>259</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -18936,19 +19086,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ResultScanner.java">org/apache/hadoop/hbase/client/ResultScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
 <td>53</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -18957,13 +19107,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetriesExhaustedException.java">org/apache/hadoop/hbase/client/RetriesExhaustedException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -18972,19 +19122,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException.java">org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'extends' have incorrect indentation level 0, expected level should be 2.</td>
 <td>47</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -18993,31 +19143,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetryingCallerInterceptor.java">org/apache/hadoop/hbase/client/RetryingCallerInterceptor.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>72</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>80</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>81</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19026,49 +19176,49 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ReversedClientScanner.java">org/apache/hadoop/hbase/client/ReversedClientScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>40</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>41</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>42</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>43</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>44</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>45</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19077,67 +19227,67 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ReversedScannerCallable.java">org/apache/hadoop/hbase/client/ReversedScannerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>48</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>49</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>50</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>51</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>61</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>62</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>63</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>64</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>76</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19146,19 +19296,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RowAccess.java">org/apache/hadoop/hbase/client/RowAccess.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>UnusedImports</td>
 <td>Unused import - com.google.common.annotations.VisibleForTesting.</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19167,25 +19317,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RowMutations.java">org/apache/hadoop/hbase/client/RowMutations.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>65</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>74</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -19194,13 +19344,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCaller.java">org/apache/hadoop/hbase/client/RpcRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -19209,13 +19359,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCallerFactory.java">org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -19224,19 +19374,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.java">org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>152</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -19245,31 +19395,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.java">org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>UnusedImports</td>
 <td>Unused import - java.util.concurrent.TimeoutException.</td>
 <td>30</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>112</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>133</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -19278,43 +19428,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Scan.java">org/apache/hadoop/hbase/client/Scan.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
 <td>128</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>817</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>827</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>859</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>998</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -19323,37 +19473,37 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerCallable.java">org/apache/hadoop/hbase/client/ScannerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>112</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>113</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>114</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>115</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19362,31 +19512,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.java">org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>259</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>262</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
 <td>353</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -19395,109 +19545,109 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.SecureBulkLoadClient.java">org/apache/hadoop/hbase/client/SecureBulkLoadClient.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>UnusedImports</td>
 <td>Unused import - org.apache.hadoop.fs.Path.</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil' import.</td>
 <td>30</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>104</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>105</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>106</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>107</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>108</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>109</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>111</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>124</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>125</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>126</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>127</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>128</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>129</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>130</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19506,19 +19656,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ShortCircuitMasterConnection.java">org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>AvoidStarImport</td>
 <td>Using the '.*' form of import should be avoided - org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.*.</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -19527,55 +19677,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.SimpleRequestController.java">org/apache/hadoop/hbase/client/SimpleRequestController.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.CollectionUtils.computeIfAbsent' import.</td>
 <td>47</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
 <td>61</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
 <td>87</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'lambda' have incorrect indentation level 12, expected level should be one of the following: 6, 8.</td>
 <td>249</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 115).</td>
 <td>326</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>434</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>435</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19584,109 +19734,109 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Table.java">org/apache/hadoop/hbase/client/Table.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.Descriptors' import.</td>
 <td>34</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>115</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>134</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>135</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>208</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>209</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>265</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>266</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>269</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>270</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>318</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>360</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>379</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 119).</td>
 <td>482</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>494</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>639</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -19695,55 +19845,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.TableDescriptor.java">org/apache/hadoop/hbase/client/TableDescriptor.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.TableName' import.</td>
 <td>28</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 2, expected level should be 4.</td>
 <td>68</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>89</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>133</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>143</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>180</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
 <td>191</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -19752,265 +19902,265 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.TableDescriptorBuilder.java">org/apache/hadoop/hbase/client/TableDescriptorBuilder.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>FinalClass</td>
 <td>Class TableDescriptorBuilder should be declared as final.</td>
 <td>49</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
 <td>217</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
 <td>223</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>245</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
 <td>361</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
 <td>367</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>445</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
 <td>453</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>463</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
 <td>465</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>468</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
 <td>471</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>582</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>593</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>619</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
 <td>655</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>717</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>751</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>802</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>874</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1041</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
 <td>1086</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1095</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1096</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>1102</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1135</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1148</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1161</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1175</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1179</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1180</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1221</td></tr>
-<tr class="b">
+<

<TRUNCATED>

[40/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/1b6d8c10
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/1b6d8c10
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/1b6d8c10

Branch: refs/heads/asf-site
Commit: 1b6d8c106ba96f12cb5434b6389ef52a21d7406b
Parents: 53b1ea4
Author: jenkins <bu...@apache.org>
Authored: Fri Jul 7 15:01:38 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Fri Jul 7 15:01:38 2017 +0000

----------------------------------------------------------------------
 apache_hbase_reference_guide.pdf                |     4 +-
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 apidocs/index-all.html                          |    40 +
 .../hadoop/hbase/class-use/ClusterStatus.html   |    13 +
 .../hadoop/hbase/class-use/HRegionInfo.html     |     6 +
 .../hadoop/hbase/class-use/RegionLoad.html      |    13 +
 .../hadoop/hbase/class-use/ServerName.html      |    25 +
 .../hadoop/hbase/class-use/TableName.html       |   107 +-
 .../apache/hadoop/hbase/client/AsyncAdmin.html  |   528 +-
 .../hbase/client/class-use/CompactionState.html |    21 +
 .../apache/hadoop/hbase/client/AsyncAdmin.html  |  1609 +-
 checkstyle-aggregate.html                       | 29694 +++++++++--------
 checkstyle.rss                                  |     6 +-
 devapidocs/constant-values.html                 |     6 +-
 devapidocs/index-all.html                       |    72 +
 .../hadoop/hbase/backup/package-tree.html       |     4 +-
 .../hadoop/hbase/class-use/ClusterStatus.html   |    21 +
 .../hadoop/hbase/class-use/HRegionInfo.html     |    18 +-
 .../hadoop/hbase/class-use/RegionLoad.html      |    23 +
 .../hadoop/hbase/class-use/ServerName.html      |    41 +-
 .../hadoop/hbase/class-use/TableName.html       |   325 +-
 .../hbase/classification/package-tree.html      |     4 +-
 .../apache/hadoop/hbase/client/AsyncAdmin.html  |   528 +-
 .../hadoop/hbase/client/AsyncHBaseAdmin.html    |   441 +-
 ...dmin.AddColumnFamilyProcedureBiConsumer.html |     6 +-
 .../client/RawAsyncHBaseAdmin.AdminRpcCall.html |     4 +-
 .../client/RawAsyncHBaseAdmin.Converter.html    |     4 +-
 ...dmin.CreateNamespaceProcedureBiConsumer.html |     6 +-
 ...aseAdmin.CreateTableProcedureBiConsumer.html |     6 +-
 ...n.DeleteColumnFamilyProcedureBiConsumer.html |     6 +-
 ...dmin.DeleteNamespaceProcedureBiConsumer.html |     6 +-
 ...aseAdmin.DeleteTableProcedureBiConsumer.html |     8 +-
 ...seAdmin.DisableTableProcedureBiConsumer.html |     6 +-
 ...aseAdmin.EnableTableProcedureBiConsumer.html |     6 +-
 .../RawAsyncHBaseAdmin.MasterRpcCall.html       |     4 +-
 ...min.MergeTableRegionProcedureBiConsumer.html |     6 +-
 ...n.ModifyColumnFamilyProcedureBiConsumer.html |     6 +-
 ...dmin.ModifyNamespaceProcedureBiConsumer.html |     6 +-
 ...HBaseAdmin.NamespaceProcedureBiConsumer.html |    14 +-
 .../RawAsyncHBaseAdmin.ProcedureBiConsumer.html |    12 +-
 .../RawAsyncHBaseAdmin.TableOperator.html       |     4 +-
 ...syncHBaseAdmin.TableProcedureBiConsumer.html |    14 +-
 ...eAdmin.TruncateTableProcedureBiConsumer.html |     6 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.html |   545 +-
 .../hbase/client/class-use/CompactionState.html |    37 +
 .../hadoop/hbase/client/package-tree.html       |    24 +-
 .../hadoop/hbase/executor/package-tree.html     |     2 +-
 .../hadoop/hbase/filter/package-tree.html       |     8 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     2 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     2 +-
 .../hbase/master/procedure/package-tree.html    |     4 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     6 +-
 .../hadoop/hbase/quotas/package-tree.html       |     8 +-
 .../hadoop/hbase/regionserver/package-tree.html |    16 +-
 .../regionserver/querymatcher/package-tree.html |     4 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    10 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 .../apache/hadoop/hbase/client/AsyncAdmin.html  |  1609 +-
 .../hadoop/hbase/client/AsyncHBaseAdmin.html    |   876 +-
 ...dmin.AddColumnFamilyProcedureBiConsumer.html |  4533 +--
 .../client/RawAsyncHBaseAdmin.AdminRpcCall.html |  4533 +--
 .../client/RawAsyncHBaseAdmin.Converter.html    |  4533 +--
 ...dmin.CreateNamespaceProcedureBiConsumer.html |  4533 +--
 ...aseAdmin.CreateTableProcedureBiConsumer.html |  4533 +--
 ...n.DeleteColumnFamilyProcedureBiConsumer.html |  4533 +--
 ...dmin.DeleteNamespaceProcedureBiConsumer.html |  4533 +--
 ...aseAdmin.DeleteTableProcedureBiConsumer.html |  4533 +--
 ...seAdmin.DisableTableProcedureBiConsumer.html |  4533 +--
 ...aseAdmin.EnableTableProcedureBiConsumer.html |  4533 +--
 .../RawAsyncHBaseAdmin.MasterRpcCall.html       |  4533 +--
 ...min.MergeTableRegionProcedureBiConsumer.html |  4533 +--
 ...n.ModifyColumnFamilyProcedureBiConsumer.html |  4533 +--
 ...dmin.ModifyNamespaceProcedureBiConsumer.html |  4533 +--
 ...HBaseAdmin.NamespaceProcedureBiConsumer.html |  4533 +--
 .../RawAsyncHBaseAdmin.ProcedureBiConsumer.html |  4533 +--
 .../RawAsyncHBaseAdmin.TableOperator.html       |  4533 +--
 ...syncHBaseAdmin.TableProcedureBiConsumer.html |  4533 +--
 ...eAdmin.TruncateTableProcedureBiConsumer.html |  4533 +--
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.html |  4533 +--
 hbase-annotations/license.html                  |   205 +-
 hbase-spark/license.html                        |   205 +-
 license.html                                    |   204 +-
 testdevapidocs/allclasses-frame.html            |     1 +
 testdevapidocs/allclasses-noframe.html          |     1 +
 testdevapidocs/index-all.html                   |    14 +
 .../hadoop/hbase/client/TestAsyncAdminBase.html |     2 +-
 .../hbase/client/TestAsyncBalancerAdminApi.html |     4 +-
 .../hbase/client/TestAsyncClusterAdminApi.html  |   347 +
 .../client/TestAsyncNamespaceAdminApi.html      |     4 +-
 .../hbase/client/TestAsyncTableAdminApi.html    |   134 +-
 .../client/class-use/TestAsyncAdminBase.html    |    16 +-
 .../class-use/TestAsyncClusterAdminApi.html     |   125 +
 .../hadoop/hbase/client/package-frame.html      |     1 +
 .../hadoop/hbase/client/package-summary.html    |   378 +-
 .../hadoop/hbase/client/package-tree.html       |     1 +
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     6 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |     1 +
 .../hbase/client/TestAsyncClusterAdminApi.html  |   204 +
 .../hbase/client/TestAsyncRegionAdminApi.html   |     8 +-
 .../hbase/client/TestAsyncTableAdminApi.html    |  1553 +-
 112 files changed, 68927 insertions(+), 62027 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 2ed0665..6a526ed 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
 /Producer (Apache HBase Team)
-/CreationDate (D:20170707062905+00'00')
-/ModDate (D:20170707062905+00'00')
+/CreationDate (D:20170707144826+00'00')
+/ModDate (D:20170707144826+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 7a273d4..0a96560 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20170707063027)
-  /CreationDate (D:20170707063027)
+  /ModDate (D:20170707144950)
+  /CreationDate (D:20170707144950)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index cf6c4d3..a86a480 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -5295,6 +5295,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/backoff/ExponentialClientBackoffPolicy.html#getBackoffTime-org.apache.hadoop.hbase.ServerName-byte:A-org.apache.hadoop.hbase.client.backoff.ServerStatistics-">getBackoffTime(ServerName, byte[], ServerStatistics)</a></span> - Method in class org.apache.hadoop.hbase.client.backoff.<a href="org/apache/hadoop/hbase/client/backoff/ExponentialClientBackoffPolicy.html" title="class in org.apache.hadoop.hbase.client.backoff">ExponentialClientBackoffPolicy</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getBackupMasters--">getBackupMasters()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getBackupMastersSize--">getBackupMastersSize()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
@@ -5417,6 +5419,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getClusterStatus-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest-">getClusterStatus(RpcController, MasterProtos.GetClusterStatusRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteAdmin</a></dt>
@@ -5502,10 +5506,18 @@
 <dd>
 <div class="block">Get the current compaction state of a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the current compaction state of a table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Get the current compaction state of region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the current compaction state of region.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/CompareFilter.html#getComparator--">getComparator()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
@@ -6093,12 +6105,20 @@
  The timestamp of the oldest HFile resulting from a major compaction of that table,
  or 0 if no such HFile could be found.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest-">getLastMajorCompactionTimestamp(RpcController, MasterProtos.MajorCompactionTimestampRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Get the timestamp of the last major compaction for the passed region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the timestamp of the last major compaction for the passed region.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getLastMajorCompactionTimestampForRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest-">getLastMajorCompactionTimestampForRegion(RpcController, MasterProtos.MajorCompactionTimestampForRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/RegionLoad.html#getLastMajorCompactionTs--">getLastMajorCompactionTs()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></dt>
@@ -6178,6 +6198,8 @@
 <dd>
 <div class="block">Map of families to all versions of its qualifiers and values.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getMaster--">getMaster()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
 <dd>
 <div class="block">Returns detailed information about the current master <a href="org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase"><code>ServerName</code></a>.</div>
@@ -6747,6 +6769,14 @@
 <dd>
 <div class="block">Get <a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a regionserver for a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads(ServerName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get a list of <a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads(ServerName, Optional&lt;TableName&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get a list of <a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html#getRegionLocation-byte:A-">getRegionLocation(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a></dt>
 <dd>
 <div class="block">Finds the region on which the given row is being served.</div>
@@ -6808,6 +6838,8 @@
 <dd>
 <div class="block">Return the RegionServer-level coprocessors</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/LocalHBaseCluster.html#getRegionServers--">getRegionServers()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/LocalHBaseCluster.html" title="class in org.apache.hadoop.hbase">LocalHBaseCluster</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getRegionsInTransition--">getRegionsInTransition()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
@@ -7396,6 +7428,10 @@
 <dd>
 <div class="block">Get the regions of a given table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get the regions of a given table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#getTables--">getTables()</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>
 <div class="block">Get set of tables that are members of the group.</div>
@@ -9192,6 +9228,10 @@
 <dd>
 <div class="block">Check whether Master is in maintenance mode</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Check whether master is in maintenance mode</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isMasterInMaintenanceMode-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest-">isMasterInMaintenanceMode(RpcController, MasterProtos.IsInMaintenanceModeRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isMasterRunning-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest-">isMasterRunning(RpcController, MasterProtos.IsMasterRunningRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html b/apidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
index bd5eae4..dcdea72 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/ClusterStatus.html
@@ -110,6 +110,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return types with arguments of type <a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html b/apidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
index d8fec29..e8bf13b 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
@@ -306,6 +306,12 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the regions of a given table.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html b/apidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
index 8e445dd..ce6a556 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/RegionLoad.html
@@ -139,6 +139,19 @@
 <div class="block">Get <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a regionserver for a table.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/apidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index 1ecad4e..500ce73 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -298,6 +298,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#listDrainingRegionServers--">listDrainingRegionServers</a></span>()</code>
 <div class="block">List region servers marked as draining to not get additional regions assigned to them.</div>
@@ -379,6 +391,19 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RequestController.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RequestController.html#incTaskCounters-java.util.Collection-org.apache.hadoop.hbase.ServerName-">incTaskCounters</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;regions,
                <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/TableName.html b/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
index 43c4732..5afd717 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -746,18 +746,30 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getCompactionState-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -845,20 +857,26 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the regions of a given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -866,7 +884,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -874,42 +892,42 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnFamily,
@@ -917,21 +935,21 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
@@ -943,60 +961,60 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamilyAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamilyAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                        <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)</code>
 <div class="block">Modify an existing table, more IRB friendly version.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)</code>
 <div class="block">Modify an existing table, more IRB friendly version.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TableDescriptorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#newBuilder-org.apache.hadoop.hbase.TableName-">newBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-java.util.List-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">The puts request will be buffered by their corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
    <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Put-int-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
    <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -1004,28 +1022,28 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-byte:A-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(byte[]&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Create a timestamp consistent snapshot for the given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1033,7 +1051,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1041,55 +1059,55 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#truncateTableAsync-org.apache.hadoop.hbase.TableName-boolean-">truncateTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   boolean&nbsp;preserveSplits)</code>
@@ -1120,19 +1138,26 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableDescriptorsByTableName-java.util.List-">getTableDescriptorsByTableName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNames)</code>
 <div class="block">Get tableDescriptors</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</code>
 <div class="block">Remove some table-cfs from config of the specified peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</code>


[29/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
index d22d7b6..f403a65 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i
 109":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.194">RawAsyncHBaseAdmin</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.208">RawAsyncHBaseAdmin</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></pre>
 <div class="block">The implementation of AsyncAdmin.</div>
@@ -592,80 +592,127 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 </td>
 </tr>
 <tr id="i45" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the current compaction state of region.</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed region.</div>
+</td>
+</tr>
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getNamespaceDescriptor-java.lang.String-">getNamespaceDescriptor</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get a namespace descriptor by name</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Get all the online regions on a region server.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getProcedureResult-long-java.util.concurrent.CompletableFuture-">getProcedureResult</a></span>(long&nbsp;procId,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;future)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getQuota-org.apache.hadoop.hbase.quotas.QuotaFilter-">getQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>
 <div class="block">List the quotas based on the filter.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getRegionInfo-byte:A-">getRegionInfo</a></span>(byte[]&nbsp;regionNameOrEncodedRegionName)</code>
 <div class="block">Get the region info for the passed region name.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getRegionLocation-byte:A-">getRegionLocation</a></span>(byte[]&nbsp;regionNameOrEncodedRegionName)</code>
 <div class="block">Get the region location for the passed region name.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>private byte[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getSplitKeys-byte:A-byte:A-int-">getSplitKeys</a></span>(byte[]&nbsp;startKey,
             byte[]&nbsp;endKey,
             int&nbsp;numRegions)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">getTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Method for getting the tableDescriptor</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getTableHRegionLocations-org.apache.hadoop.hbase.TableName-">getTableHRegionLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">List all region locations for the specific table.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i61" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#internalDeleteSnapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">internalDeleteSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#internalRestoreSnapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">internalRestoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Query the current state of the balancer.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i65" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode</a></span>()</code>
+<div class="block">Check whether master is in maintenance mode</div>
+</td>
+</tr>
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isProcedureFinished-java.lang.String-java.lang.String-java.util.Map-">isProcedureFinished</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;signature,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instance,
@@ -673,17 +720,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <div class="block">Check the current state of the specified procedure.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isSnapshotFinished-org.apache.hadoop.hbase.client.SnapshotDescription-">isSnapshotFinished</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Check the current state of the passed snapshot.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -691,59 +738,59 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listNamespaceDescriptors--">listNamespaceDescriptors</a></span>()</code>
 <div class="block">List available namespace descriptors</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listProcedures--">listProcedures</a></span>()</code>
 <div class="block">List procedures</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listReplicatedTableCFs--">listReplicatedTableCFs</a></span>()</code>
 <div class="block">Find all table and column families that are replicated from this cluster</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listReplicationPeers-java.util.Optional-">listReplicationPeers</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listSnapshots-java.util.Optional-">listSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">List all the completed snapshots matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listTableNames-java.util.Optional-boolean-">listTableNames</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
               boolean&nbsp;includeSysTables)</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listTables-java.util.Optional-boolean-">listTables</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
           boolean&nbsp;includeSysTables)</code>
 <div class="block">List all the tables matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#listTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-">listTableSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;tableNamePattern,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;snapshotNamePattern)</code>
@@ -751,27 +798,27 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
  name regular expression.</div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#majorCompactRegion-byte:A-java.util.Optional-">majorCompactRegion</a></span>(byte[]&nbsp;regionName,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within region.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#majorCompactRegionServer-org.apache.hadoop.hbase.ServerName-">majorCompactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>
 <div class="block">Compact all regions on the region server.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#mergeRegions-byte:A-byte:A-boolean-">mergeRegions</a></span>(byte[]&nbsp;nameOfRegionA,
             byte[]&nbsp;nameOfRegionB,
@@ -779,157 +826,157 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <div class="block">Merge two regions.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
 <div class="block">Modify an existing namespace.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#move-byte:A-java.util.Optional-">move</a></span>(byte[]&nbsp;regionName,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;destServerName)</code>
 <div class="block">Move the region <code>r</code> to <code>dest</code>.</div>
 </td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>private &lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#newAdminCaller--">newAdminCaller</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>private &lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#newMasterCaller--">newMasterCaller</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#offline-byte:A-">offline</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>private &lt;PREQ,PRESP&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#procedureCall-PREQ-org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.MasterRpcCall-org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.Converter-org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.ProcedureBiConsumer-">procedureCall</a></span>(PREQ&nbsp;preq,
              <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.MasterRpcCall</a>&lt;PRESP,PREQ&gt;&nbsp;rpcCall,
              <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.Converter</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,PRESP&gt;&nbsp;respConverter,
              <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a>&nbsp;consumer)</code>&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Remove a peer and stop the replication</div>
 </td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</code>
 <div class="block">Remove some table-cfs from config of the specified peer</div>
 </td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#restoreSnapshot-java.lang.String-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#restoreSnapshot-java.lang.String-boolean-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#restoreSnapshot-java.lang.String-org.apache.hadoop.hbase.TableName-boolean-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                boolean&nbsp;takeFailSafeSnapshot)</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#setBalancerOn-boolean-">setBalancerOn</a></span>(boolean&nbsp;on)</code>
 <div class="block">Turn the load balancer on or off.</div>
 </td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#setQuota-org.apache.hadoop.hbase.quotas.QuotaSettings-">setQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)</code>
 <div class="block">Apply the new quota settings.</div>
 </td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#snapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshotDesc)</code>
 <div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously.</div>
 </td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#split-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-java.util.Optional-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
      <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;splitPoint)</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#splitRegion-byte:A-java.util.Optional-">splitRegion</a></span>(byte[]&nbsp;regionName,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;splitPoint)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>private byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#toEncodeRegionName-byte:A-">toEncodeRegionName</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#unassign-byte:A-boolean-">unassign</a></span>(byte[]&nbsp;regionName,
         boolean&nbsp;forcible)</code>
 <div class="block">Unassign a region from current hosting regionserver.</div>
 </td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#verifySplitKeys-byte:A:A-">verifySplitKeys</a></span>(byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#waitProcedureResult-java.util.concurrent.CompletableFuture-">waitProcedureResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;procFuture)</code>&nbsp;</td>
 </tr>
@@ -946,7 +993,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#balance--">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-">compactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers--">listReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots--">listSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables--">listTables</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.ht
 ml#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#balance--">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-">compactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers</a>, <a href="../../../../../org/apache/had
 oop/hbase/client/AsyncAdmin.html#listReplicationPeers--">listReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots--">listSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables--">listTables</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a>
 , <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></code></li>
 </ul>
 </li>
 </ul>
@@ -968,7 +1015,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_TABLE_PROCEDURE_SIGNATURE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.195">FLUSH_TABLE_PROCEDURE_SIGNATURE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.209">FLUSH_TABLE_PROCEDURE_SIGNATURE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.FLUSH_TABLE_PROCEDURE_SIGNATURE">Constant Field Values</a></dd>
@@ -981,7 +1028,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.197">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.211">LOG</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -990,7 +1037,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>connection</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.199">connection</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.213">connection</a></pre>
 </li>
 </ul>
 <a name="metaTable">
@@ -999,7 +1046,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>metaTable</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.201">metaTable</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.215">metaTable</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -1008,7 +1055,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.203">rpcTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.217">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -1017,7 +1064,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.205">operationTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.219">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="pauseNs">
@@ -1026,7 +1073,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.207">pauseNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.221">pauseNs</a></pre>
 </li>
 </ul>
 <a name="maxAttempts">
@@ -1035,7 +1082,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.209">maxAttempts</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.223">maxAttempts</a></pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt">
@@ -1044,7 +1091,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.211">startLogErrorsCnt</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.225">startLogErrorsCnt</a></pre>
 </li>
 </ul>
 <a name="ng">
@@ -1053,7 +1100,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ng</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.213">ng</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.227">ng</a></pre>
 </li>
 </ul>
 </li>
@@ -1070,7 +1117,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RawAsyncHBaseAdmin</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.215">RawAsyncHBaseAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;connection,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.229">RawAsyncHBaseAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;connection,
                    <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncAdminBuilderBase</a>&lt;?&gt;&nbsp;builder)</pre>
 </li>
 </ul>
@@ -1088,7 +1135,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>newMasterCaller</h4>
-<pre>private&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.226">newMasterCaller</a>()</pre>
+<pre>private&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.240">newMasterCaller</a>()</pre>
 </li>
 </ul>
 <a name="newAdminCaller--">
@@ -1097,7 +1144,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>newAdminCaller</h4>
-<pre>private&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.234">newAdminCaller</a>()</pre>
+<pre>private&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.248">newAdminCaller</a>()</pre>
 </li>
 </ul>
 <a name="call-org.apache.hadoop.hbase.ipc.HBaseRpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface-java.lang.Object-org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.MasterRpcCall-org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.Converter-">
@@ -1108,7 +1155,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>private&nbsp;&lt;PREQ,PRESP,RESP&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;RESP&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.259">call</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
+<pre>private&nbsp;&lt;PREQ,PRESP,RESP&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;RESP&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.273">call</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
                                                        org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub,
                                                        PREQ&nbsp;preq,
                                                        <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.MasterRpcCall</a>&lt;PRESP,PREQ&gt;&nbsp;rpcCall,
@@ -1123,7 +1170,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>adminCall</h4>
-<pre>private&nbsp;&lt;PREQ,PRESP,RESP&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;RESP&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.281">adminCall</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
+<pre>private&nbsp;&lt;PREQ,PRESP,RESP&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;RESP&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.295">adminCall</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
                                                             org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;stub,
                                                             PREQ&nbsp;preq,
                                                             <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.AdminRpcCall</a>&lt;PRESP,PREQ&gt;&nbsp;rpcCall,
@@ -1138,7 +1185,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>procedureCall</h4>
-<pre>private&nbsp;&lt;PREQ,PRESP&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.304">procedureCall</a>(PREQ&nbsp;preq,
+<pre>private&nbsp;&lt;PREQ,PRESP&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.318">procedureCall</a>(PREQ&nbsp;preq,
                                                            <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MasterRpcCall.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.MasterRpcCall</a>&lt;PRESP,PREQ&gt;&nbsp;rpcCall,
                                                            <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.Converter</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,PRESP&gt;&nbsp;respConverter,
                                                            <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ProcedureBiConsumer</a>&nbsp;consumer)</pre>
@@ -1150,7 +1197,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>batchTableOperations</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.320">batchTableOperations</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.334">batchTableOperations</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern,
                                                                       <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableOperator</a>&nbsp;operator,
                                                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;operationType)</pre>
 </li>
@@ -1161,7 +1208,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>tableExists</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.346">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.360">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></code></dd>
@@ -1179,7 +1226,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>listTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#line.351">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interfa

<TRUNCATED>

[21/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span

<TRUNCATED>

[18/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span

<TRUNCATED>

[07/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"><

<TRUNCATED>

[19/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="l

<TRUNCATED>

[26/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
index a3166df..554251b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
@@ -35,425 +35,469 @@
 <span class="sourceLineNo">027</span><a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.ServerName;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.TableName;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * The implementation of AsyncAdmin.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@InterfaceAudience.Private<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.49"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.ServerName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * The implementation of AsyncAdmin.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@InterfaceAudience.Private<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.49"></a>
 <span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private final RawAsyncHBaseAdmin rawAdmin;<a name="line.51"></a>
+<span class="sourceLineNo">051</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.51"></a>
 <span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private final ExecutorService pool;<a name="line.53"></a>
+<span class="sourceLineNo">053</span>  private final RawAsyncHBaseAdmin rawAdmin;<a name="line.53"></a>
 <span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  AsyncHBaseAdmin(RawAsyncHBaseAdmin rawAdmin, ExecutorService pool) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    this.rawAdmin = rawAdmin;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    this.pool = pool;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private &lt;T&gt; CompletableFuture&lt;T&gt; wrap(CompletableFuture&lt;T&gt; future) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    CompletableFuture&lt;T&gt; asyncFuture = new CompletableFuture&lt;&gt;();<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    future.whenCompleteAsync((r, e) -&gt; {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      if (e != null) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>        asyncFuture.completeExceptionally(e);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      } else {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>        asyncFuture.complete(r);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      }<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    }, pool);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    return asyncFuture;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    return wrap(rawAdmin.tableExists(tableName));<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      boolean includeSysTables) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    return wrap(rawAdmin.listTables(pattern, includeSysTables));<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  @Override<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      boolean includeSysTables) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    return wrap(rawAdmin.listTableNames(pattern, includeSysTables));<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  }<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span>  @Override<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    return wrap(rawAdmin.getTableDescriptor(tableName));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      int numRegions) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return wrap(rawAdmin.createTable(desc, startKey, endKey, numRegions));<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return wrap(rawAdmin.createTable(desc, splitKeys));<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  @Override<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    return wrap(rawAdmin.deleteTable(tableName));<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  @Override<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return wrap(rawAdmin.deleteTables(pattern));<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  @Override<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    return wrap(rawAdmin.truncateTable(tableName, preserveSplits));<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return wrap(rawAdmin.enableTable(tableName));<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return wrap(rawAdmin.enableTables(pattern));<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return wrap(rawAdmin.disableTable(tableName));<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  @Override<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    return wrap(rawAdmin.disableTables(pattern));<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  @Override<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    return wrap(rawAdmin.isTableEnabled(tableName));<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>  @Override<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    return wrap(rawAdmin.isTableDisabled(tableName));<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    return wrap(rawAdmin.isTableAvailable(tableName, splitKeys));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return wrap(rawAdmin.getAlterStatus(tableName));<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName,<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      ColumnFamilyDescriptor columnFamily) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return wrap(rawAdmin.addColumnFamily(tableName, columnFamily));<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  public CompletableFuture&lt;Void&gt; deleteColumnFamily(TableName tableName, byte[] columnFamily) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return wrap(rawAdmin.deleteColumnFamily(tableName, columnFamily));<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public CompletableFuture&lt;Void&gt; modifyColumnFamily(TableName tableName,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      ColumnFamilyDescriptor columnFamily) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    return wrap(rawAdmin.modifyColumnFamily(tableName, columnFamily));<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public CompletableFuture&lt;Void&gt; createNamespace(NamespaceDescriptor descriptor) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    return wrap(rawAdmin.createNamespace(descriptor));<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>  @Override<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public CompletableFuture&lt;Void&gt; modifyNamespace(NamespaceDescriptor descriptor) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return wrap(rawAdmin.modifyNamespace(descriptor));<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  @Override<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  public CompletableFuture&lt;Void&gt; deleteNamespace(String name) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return wrap(rawAdmin.deleteNamespace(name));<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  @Override<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public CompletableFuture&lt;NamespaceDescriptor&gt; getNamespaceDescriptor(String name) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    return wrap(rawAdmin.getNamespaceDescriptor(name));<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  public CompletableFuture&lt;List&lt;NamespaceDescriptor&gt;&gt; listNamespaceDescriptors() {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    return wrap(rawAdmin.listNamespaceDescriptors());<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  public CompletableFuture&lt;Boolean&gt; setBalancerOn(boolean on) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    return wrap(rawAdmin.setBalancerOn(on));<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  @Override<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  public CompletableFuture&lt;Boolean&gt; balance(boolean forcible) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    return wrap(rawAdmin.balance(forcible));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  @Override<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public CompletableFuture&lt;Boolean&gt; isBalancerOn() {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    return wrap(rawAdmin.isBalancerOn());<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  }<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>  @Override<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public CompletableFuture&lt;Boolean&gt; closeRegion(byte[] regionName, Optional&lt;ServerName&gt; serverName) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return wrap(rawAdmin.closeRegion(regionName, serverName));<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  @Override<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getOnlineRegions(ServerName serverName) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    return wrap(rawAdmin.getOnlineRegions(serverName));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  public CompletableFuture&lt;Void&gt; flush(TableName tableName) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return wrap(rawAdmin.flush(tableName));<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  @Override<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public CompletableFuture&lt;Void&gt; flushRegion(byte[] regionName) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return wrap(rawAdmin.flushRegion(regionName));<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  @Override<a name="line.237"></a>
-<span class="sourceLineNo">238</span>  public CompletableFuture&lt;Void&gt; compact(TableName tableName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    return wrap(rawAdmin.compact(tableName, columnFamily));<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    return wrap(rawAdmin.compactRegion(regionName, columnFamily));<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  @Override<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  public CompletableFuture&lt;Void&gt; majorCompact(TableName tableName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return wrap(rawAdmin.majorCompact(tableName, columnFamily));<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  }<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>  @Override<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  public CompletableFuture&lt;Void&gt;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      majorCompactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    return wrap(rawAdmin.majorCompactRegion(regionName, columnFamily));<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  public CompletableFuture&lt;Void&gt; compactRegionServer(ServerName serverName) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return wrap(rawAdmin.compactRegionServer(serverName));<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  public CompletableFuture&lt;Void&gt; majorCompactRegionServer(ServerName serverName) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return wrap(rawAdmin.majorCompactRegionServer(serverName));<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public CompletableFuture&lt;Void&gt; mergeRegions(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      boolean forcible) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    return wrap(rawAdmin.mergeRegions(nameOfRegionA, nameOfRegionB, forcible));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public CompletableFuture&lt;Void&gt; split(TableName tableName) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return wrap(rawAdmin.split(tableName));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  @Override<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  public CompletableFuture&lt;Void&gt; split(TableName tableName, byte[] splitPoint) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    return wrap(rawAdmin.split(tableName, splitPoint));<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  }<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  @Override<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public CompletableFuture&lt;Void&gt; splitRegion(byte[] regionName, Optional&lt;byte[]&gt; splitPoint) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return wrap(rawAdmin.splitRegion(regionName, splitPoint));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  @Override<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public CompletableFuture&lt;Void&gt; assign(byte[] regionName) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    return wrap(rawAdmin.assign(regionName));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public CompletableFuture&lt;Void&gt; unassign(byte[] regionName, boolean forcible) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return wrap(rawAdmin.unassign(regionName, forcible));<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  public CompletableFuture&lt;Void&gt; offline(byte[] regionName) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return wrap(rawAdmin.offline(regionName));<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public CompletableFuture&lt;Void&gt; move(byte[] regionName, Optional&lt;ServerName&gt; destServerName) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    return wrap(rawAdmin.move(regionName, destServerName));<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>  @Override<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  public CompletableFuture&lt;Void&gt; setQuota(QuotaSettings quota) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    return wrap(rawAdmin.setQuota(quota));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  @Override<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  public CompletableFuture&lt;List&lt;QuotaSettings&gt;&gt; getQuota(QuotaFilter filter) {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    return wrap(rawAdmin.getQuota(filter));<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  }<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  @Override<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public CompletableFuture&lt;Void&gt;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    return wrap(rawAdmin.addReplicationPeer(peerId, peerConfig));<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  @Override<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  public CompletableFuture&lt;Void&gt; removeReplicationPeer(String peerId) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return wrap(rawAdmin.removeReplicationPeer(peerId));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  public CompletableFuture&lt;Void&gt; enableReplicationPeer(String peerId) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    return wrap(rawAdmin.enableReplicationPeer(peerId));<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public CompletableFuture&lt;Void&gt; disableReplicationPeer(String peerId) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    return wrap(rawAdmin.disableReplicationPeer(peerId));<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  public CompletableFuture&lt;ReplicationPeerConfig&gt; getReplicationPeerConfig(String peerId) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return wrap(rawAdmin.getReplicationPeerConfig(peerId));<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Void&gt; updateReplicationPeerConfig(String peerId,<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      ReplicationPeerConfig peerConfig) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    return wrap(rawAdmin.updateReplicationPeerConfig(peerId, peerConfig));<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  @Override<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  public CompletableFuture&lt;Void&gt; appendReplicationPeerTableCFs(String peerId,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      Map&lt;TableName, ? extends Collection&lt;String&gt;&gt; tableCfs) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return wrap(rawAdmin.appendReplicationPeerTableCFs(peerId, tableCfs));<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public CompletableFuture&lt;Void&gt; removeReplicationPeerTableCFs(String peerId,<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      Map&lt;TableName, ? extends Collection&lt;String&gt;&gt; tableCfs) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    return wrap(rawAdmin.removeReplicationPeerTableCFs(peerId, tableCfs));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;ReplicationPeerDescription&gt;&gt; listReplicationPeers(<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      Optional&lt;Pattern&gt; pattern) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return wrap(rawAdmin.listReplicationPeers(pattern));<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  @Override<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public CompletableFuture&lt;List&lt;TableCFs&gt;&gt; listReplicatedTableCFs() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    return wrap(rawAdmin.listReplicatedTableCFs());<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>  @Override<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public CompletableFuture&lt;Void&gt; snapshot(SnapshotDescription snapshot) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    return wrap(rawAdmin.snapshot(snapshot));<a name="line.376"></a>
-<span class="sourceLineNo">377</span>  }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public CompletableFuture&lt;Boolean&gt; isSnapshotFinished(SnapshotDescription snapshot) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    return wrap(rawAdmin.isSnapshotFinished(snapshot));<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  @Override<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  public CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return wrap(rawAdmin.restoreSnapshot(snapshotName));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>  @Override<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    return wrap(rawAdmin.restoreSnapshot(snapshotName, takeFailSafeSnapshot));<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>  @Override<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  public CompletableFuture&lt;Void&gt; cloneSnapshot(String snapshotName, TableName tableName) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    return wrap(rawAdmin.cloneSnapshot(snapshotName, tableName));<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listSnapshots(Optional&lt;Pattern&gt; pattern) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return wrap(rawAdmin.listSnapshots(pattern));<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      Pattern snapshotNamePattern) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return wrap(rawAdmin.listTableSnapshots(tableNamePattern, snapshotNamePattern));<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @Override<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public CompletableFuture&lt;Void&gt; deleteSnapshot(String snapshotName) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    return wrap(rawAdmin.deleteSnapshot(snapshotName));<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public CompletableFuture&lt;Void&gt; deleteTableSnapshots(Pattern tableNamePattern,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      Pattern snapshotNamePattern) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    return wrap(rawAdmin.deleteTableSnapshots(tableNamePattern, snapshotNamePattern));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  }<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span>  @Override<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public CompletableFuture&lt;Void&gt; execProcedure(String signature, String instance,<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      Map&lt;String, String&gt; props) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return wrap(rawAdmin.execProcedure(signature, instance, props));<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  @Override<a name="line.427"></a>
-<span class="sourceLineNo">428</span>  public CompletableFuture&lt;byte[]&gt; execProcedureWithRet(String signature, String instance,<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Map&lt;String, String&gt; props) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    return wrap(rawAdmin.execProcedureWithRet(signature, instance, props));<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  @Override<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  public CompletableFuture&lt;Boolean&gt; isProcedureFinished(String signature, String instance,<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      Map&lt;String, String&gt; props) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    return wrap(rawAdmin.isProcedureFinished(signature, instance, props));<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  @Override<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  public CompletableFuture&lt;Boolean&gt; abortProcedure(long procId, boolean mayInterruptIfRunning) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    return wrap(rawAdmin.abortProcedure(procId, mayInterruptIfRunning));<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>  @Override<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  public CompletableFuture&lt;List&lt;ProcedureInfo&gt;&gt; listProcedures() {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    return wrap(rawAdmin.listProcedures());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  }<a name="line.447"></a>
-<span class="sourceLineNo">448</span>}<a name="line.448"></a>
+<span class="sourceLineNo">055</span>  private final ExecutorService pool;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  AsyncHBaseAdmin(RawAsyncHBaseAdmin rawAdmin, ExecutorService pool) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    this.rawAdmin = rawAdmin;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    this.pool = pool;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private &lt;T&gt; CompletableFuture&lt;T&gt; wrap(CompletableFuture&lt;T&gt; future) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    CompletableFuture&lt;T&gt; asyncFuture = new CompletableFuture&lt;&gt;();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    future.whenCompleteAsync((r, e) -&gt; {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      if (e != null) {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>        asyncFuture.completeExceptionally(e);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      } else {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>        asyncFuture.complete(r);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      }<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    }, pool);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    return asyncFuture;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    return wrap(rawAdmin.tableExists(tableName));<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  @Override<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      boolean includeSysTables) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    return wrap(rawAdmin.listTables(pattern, includeSysTables));<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      boolean includeSysTables) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    return wrap(rawAdmin.listTableNames(pattern, includeSysTables));<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return wrap(rawAdmin.getTableDescriptor(tableName));<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>  @Override<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      int numRegions) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    return wrap(rawAdmin.createTable(desc, startKey, endKey, numRegions));<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  }<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>  @Override<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return wrap(rawAdmin.createTable(desc, splitKeys));<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    return wrap(rawAdmin.deleteTable(tableName));<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return wrap(rawAdmin.deleteTables(pattern));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return wrap(rawAdmin.truncateTable(tableName, preserveSplits));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return wrap(rawAdmin.enableTable(tableName));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return wrap(rawAdmin.enableTables(pattern));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  @Override<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return wrap(rawAdmin.disableTable(tableName));<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return wrap(rawAdmin.disableTables(pattern));<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  @Override<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    return wrap(rawAdmin.isTableEnabled(tableName));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return wrap(rawAdmin.isTableDisabled(tableName));<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  @Override<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    return wrap(rawAdmin.isTableAvailable(tableName, splitKeys));<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Override<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    return wrap(rawAdmin.getAlterStatus(tableName));<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      ColumnFamilyDescriptor columnFamily) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return wrap(rawAdmin.addColumnFamily(tableName, columnFamily));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public CompletableFuture&lt;Void&gt; deleteColumnFamily(TableName tableName, byte[] columnFamily) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    return wrap(rawAdmin.deleteColumnFamily(tableName, columnFamily));<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>  @Override<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public CompletableFuture&lt;Void&gt; modifyColumnFamily(TableName tableName,<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      ColumnFamilyDescriptor columnFamily) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return wrap(rawAdmin.modifyColumnFamily(tableName, columnFamily));<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  @Override<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public CompletableFuture&lt;Void&gt; createNamespace(NamespaceDescriptor descriptor) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return wrap(rawAdmin.createNamespace(descriptor));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public CompletableFuture&lt;Void&gt; modifyNamespace(NamespaceDescriptor descriptor) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    return wrap(rawAdmin.modifyNamespace(descriptor));<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  @Override<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public CompletableFuture&lt;Void&gt; deleteNamespace(String name) {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return wrap(rawAdmin.deleteNamespace(name));<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public CompletableFuture&lt;NamespaceDescriptor&gt; getNamespaceDescriptor(String name) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return wrap(rawAdmin.getNamespaceDescriptor(name));<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  public CompletableFuture&lt;List&lt;NamespaceDescriptor&gt;&gt; listNamespaceDescriptors() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return wrap(rawAdmin.listNamespaceDescriptors());<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>  @Override<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  public CompletableFuture&lt;Boolean&gt; setBalancerOn(boolean on) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    return wrap(rawAdmin.setBalancerOn(on));<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  public CompletableFuture&lt;Boolean&gt; balance(boolean forcible) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    return wrap(rawAdmin.balance(forcible));<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  @Override<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  public CompletableFuture&lt;Boolean&gt; isBalancerOn() {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return wrap(rawAdmin.isBalancerOn());<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  public CompletableFuture&lt;Boolean&gt; closeRegion(byte[] regionName, Optional&lt;ServerName&gt; serverName) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    return wrap(rawAdmin.closeRegion(regionName, serverName));<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getOnlineRegions(ServerName serverName) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    return wrap(rawAdmin.getOnlineRegions(serverName));<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getTableRegions(TableName tableName) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return wrap(rawAdmin.getTableRegions(tableName));<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  @Override<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public CompletableFuture&lt;Void&gt; flush(TableName tableName) {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return wrap(rawAdmin.flush(tableName));<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>  @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public CompletableFuture&lt;Void&gt; flushRegion(byte[] regionName) {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return wrap(rawAdmin.flushRegion(regionName));<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public CompletableFuture&lt;Void&gt; compact(TableName tableName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    return wrap(rawAdmin.compact(tableName, columnFamily));<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  @Override<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  public CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    return wrap(rawAdmin.compactRegion(regionName, columnFamily));<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  @Override<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public CompletableFuture&lt;Void&gt; majorCompact(TableName tableName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    return wrap(rawAdmin.majorCompact(tableName, columnFamily));<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  @Override<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public CompletableFuture&lt;Void&gt;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      majorCompactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    return wrap(rawAdmin.majorCompactRegion(regionName, columnFamily));<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  public CompletableFuture&lt;Void&gt; compactRegionServer(ServerName serverName) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    return wrap(rawAdmin.compactRegionServer(serverName));<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public CompletableFuture&lt;Void&gt; majorCompactRegionServer(ServerName serverName) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return wrap(rawAdmin.majorCompactRegionServer(serverName));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @Override<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public CompletableFuture&lt;Void&gt; mergeRegions(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      boolean forcible) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    return wrap(rawAdmin.mergeRegions(nameOfRegionA, nameOfRegionB, forcible));<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span>  @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  public CompletableFuture&lt;Void&gt; split(TableName tableName) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    return wrap(rawAdmin.split(tableName));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @Override<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public CompletableFuture&lt;Void&gt; split(TableName tableName, byte[] splitPoint) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    return wrap(rawAdmin.split(tableName, splitPoint));<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  @Override<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public CompletableFuture&lt;Void&gt; splitRegion(byte[] regionName, Optional&lt;byte[]&gt; splitPoint) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    return wrap(rawAdmin.splitRegion(regionName, splitPoint));<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  }<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>  @Override<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public CompletableFuture&lt;Void&gt; assign(byte[] regionName) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    return wrap(rawAdmin.assign(regionName));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  @Override<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  public CompletableFuture&lt;Void&gt; unassign(byte[] regionName, boolean forcible) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    return wrap(rawAdmin.unassign(regionName, forcible));<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  }<a name="line.304"></a>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  @Override<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  public CompletableFuture&lt;Void&gt; offline(byte[] regionName) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    return wrap(rawAdmin.offline(regionName));<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  public CompletableFuture&lt;Void&gt; move(byte[] regionName, Optional&lt;ServerName&gt; destServerName) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return wrap(rawAdmin.move(regionName, destServerName));<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public CompletableFuture&lt;Void&gt; setQuota(QuotaSettings quota) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    return wrap(rawAdmin.setQuota(quota));<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>  @Override<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  public CompletableFuture&lt;List&lt;QuotaSettings&gt;&gt; getQuota(QuotaFilter filter) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    return wrap(rawAdmin.getQuota(filter));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  @Override<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public CompletableFuture&lt;Void&gt;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return wrap(rawAdmin.addReplicationPeer(peerId, peerConfig));<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  public CompletableFuture&lt;Void&gt; removeReplicationPeer(String peerId) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    return wrap(rawAdmin.removeReplicationPeer(peerId));<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  @Override<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  public CompletableFuture&lt;Void&gt; enableReplicationPeer(String peerId) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    return wrap(rawAdmin.enableReplicationPeer(peerId));<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  }<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  public CompletableFuture&lt;Void&gt; disableReplicationPeer(String peerId) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    return wrap(rawAdmin.disableReplicationPeer(peerId));<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  @Override<a name="line.347"></a>
+<span class="sourceLineNo">348</span>  public CompletableFuture&lt;ReplicationPeerConfig&gt; getReplicationPeerConfig(String peerId) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    return wrap(rawAdmin.getReplicationPeerConfig(peerId));<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>  @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  public CompletableFuture&lt;Void&gt; updateReplicationPeerConfig(String peerId,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      ReplicationPeerConfig peerConfig) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    return wrap(rawAdmin.updateReplicationPeerConfig(peerId, peerConfig));<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  }<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>  @Override<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public CompletableFuture&lt;Void&gt; appendReplicationPeerTableCFs(String peerId,<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      Map&lt;TableName, ? extends Collection&lt;String&gt;&gt; tableCfs) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    return wrap(rawAdmin.appendReplicationPeerTableCFs(peerId, tableCfs));<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  }<a name="line.362"></a>
+<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
+<span class="sourceLineNo">365</span>  public CompletableFuture&lt;Void&gt; removeReplicationPeerTableCFs(String peerId,<a name="line.365"></a>
+<span class="sourceLineNo">366</span>      Map&lt;TableName, ? extends Collection&lt;String&gt;&gt; tableCfs) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    return wrap(rawAdmin.removeReplicationPeerTableCFs(peerId, tableCfs));<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  }<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>  @Override<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  public CompletableFuture&lt;List&lt;ReplicationPeerDescription&gt;&gt; listReplicationPeers(<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      Optional&lt;Pattern&gt; pattern) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    return wrap(rawAdmin.listReplicationPeers(pattern));<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public CompletableFuture&lt;List&lt;TableCFs&gt;&gt; listReplicatedTableCFs() {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    return wrap(rawAdmin.listReplicatedTableCFs());<a name="line.378"></a>
+<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>  @Override<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  public CompletableFuture&lt;Void&gt; snapshot(SnapshotDescription snapshot) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    return wrap(rawAdmin.snapshot(snapshot));<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public CompletableFuture&lt;Boolean&gt; isSnapshotFinished(SnapshotDescription snapshot) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    return wrap(rawAdmin.isSnapshotFinished(snapshot));<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>  @Override<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  public CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    return wrap(rawAdmin.restoreSnapshot(snapshotName));<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>  @Override<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  public CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return wrap(rawAdmin.restoreSnapshot(snapshotName, takeFailSafeSnapshot));<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  @Override<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  public CompletableFuture&lt;Void&gt; cloneSnapshot(String snapshotName, TableName tableName) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    return wrap(rawAdmin.cloneSnapshot(snapshotName, tableName));<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>  @Override<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  public CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listSnapshots(Optional&lt;Pattern&gt; pattern) {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    return wrap(rawAdmin.listSnapshots(pattern));<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
+<span class="sourceLineNo">410</span><a name="line.410"></a>
+<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  public CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      Pattern snapshotNamePattern) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    return wrap(rawAdmin.listTableSnapshots(tableNamePattern, snapshotNamePattern));<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>  @Override<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  public CompletableFuture&lt;Void&gt; deleteSnapshot(String snapshotName) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    return wrap(rawAdmin.deleteSnapshot(snapshotName));<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  public CompletableFuture&lt;Void&gt; deleteTableSnapshots(Pattern tableNamePattern,<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      Pattern snapshotNamePattern) {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    return wrap(rawAdmin.deleteTableSnapshots(tableNamePattern, snapshotNamePattern));<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  }<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span>  @Override<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  public CompletableFuture&lt;Void&gt; execProcedure(String signature, String instance,<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      Map&lt;String, String&gt; props) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    return wrap(rawAdmin.execProcedure(signature, instance, props));<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span>  public CompletableFuture&lt;byte[]&gt; execProcedureWithRet(String signature, String instance,<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      Map&lt;String, String&gt; props) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    return wrap(rawAdmin.execProcedureWithRet(signature, instance, props));<a name="line.437"></a>
+<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
+<span class="sourceLineNo">439</span><a name="line.439"></a>
+<span class="sourceLineNo">440</span>  @Override<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  public CompletableFuture&lt;Boolean&gt; isProcedureFinished(String signature, String instance,<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      Map&lt;String, String&gt; props) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    return wrap(rawAdmin.isProcedureFinished(signature, instance, props));<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
+<span class="sourceLineNo">447</span>  public CompletableFuture&lt;Boolean&gt; abortProcedure(long procId, boolean mayInterruptIfRunning) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return wrap(rawAdmin.abortProcedure(procId, mayInterruptIfRunning));<a name="line.448"></a>
+<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  public CompletableFuture&lt;List&lt;ProcedureInfo&gt;&gt; listProcedures() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    return wrap(rawAdmin.listProcedures());<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>  @Override<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  public CompletableFuture&lt;ClusterStatus&gt; getClusterStatus() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return wrap(rawAdmin.getClusterStatus());<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  @Override<a name="line.461"></a>
+<span class="sourceLineNo">462</span>  public CompletableFuture&lt;List&lt;RegionLoad&gt;&gt; getRegionLoads(ServerName serverName,<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      Optional&lt;TableName&gt; tableName) {<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    return wrap(rawAdmin.getRegionLoads(serverName, tableName));<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  }<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  @Override<a name="line.467"></a>
+<span class="sourceLineNo">468</span>  public CompletableFuture&lt;Boolean&gt; isMasterInMaintenanceMode() {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    return wrap(rawAdmin.isMasterInMaintenanceMode());<a name="line.469"></a>
+<span class="sourceLineNo">470</span>  }<a name="line.470"></a>
+<span class="sourceLineNo">471</span><a name="line.471"></a>
+<span class="sourceLineNo">472</span>  @Override<a name="line.472"></a>
+<span class="sourceLineNo">473</span>  public CompletableFuture&lt;CompactionState&gt; getCompactionState(TableName tableName) {<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    return wrap(rawAdmin.getCompactionState(tableName));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>  }<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  @Override<a name="line.477"></a>
+<span class="sourceLineNo">478</span>  public CompletableFuture&lt;CompactionState&gt; getCompactionStateForRegion(byte[] regionName) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    return wrap(rawAdmin.getCompactionStateForRegion(regionName));<a name="line.479"></a>
+<span class="sourceLineNo">480</span>  }<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>  @Override<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  public CompletableFuture&lt;Optional&lt;Long&gt;&gt; getLastMajorCompactionTimestamp(TableName tableName) {<a name="line.483"></a>
+<span class="sourceLineNo">484</span>    return wrap(rawAdmin.getLastMajorCompactionTimestamp(tableName));<a name="line.484"></a>
+<span class="sourceLineNo">485</span>  }<a name="line.485"></a>
+<span class="sourceLineNo">486</span><a name="line.486"></a>
+<span class="sourceLineNo">487</span>  @Override<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  public CompletableFuture&lt;Optional&lt;Long&gt;&gt; getLastMajorCompactionTimestampForRegion(<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      byte[] regionName) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    return wrap(rawAdmin.getLastMajorCompactionTimestampForRegion(regionName));<a name="line.490"></a>
+<span class="sourceLineNo">491</span>  }<a name="line.491"></a>
+<span class="sourceLineNo">492</span>}<a name="line.492"></a>
 
 
 


[25/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="l

<TRUNCATED>

[14/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a na

<TRUNCATED>

[24/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AdminRpcCall.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</s

<TRUNCATED>

[37/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
index 36768a6..8abc3e6 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -25,786 +25,881 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.List;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.Collection;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Map;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Optional;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.CompletableFuture;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.regex.Pattern;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.ServerName;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * The asynchronous administrative API for HBase.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * This feature is still under development, so marked as IA.Private. Will change to public when<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * done. Use it with caution.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@InterfaceAudience.Public<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public interface AsyncAdmin {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   * @param tableName Table to check.<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * @return True if table exists already. The return value will be wrapped by a<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   *         {@link CompletableFuture}.<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName);<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * List all the userspace tables.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * @see #listTables(Optional, boolean)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  default CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return listTables(Optional.empty(), false);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * List all the tables matching the given pattern.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param pattern The compiled regular expression to match against<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @param includeSysTables False to match only against userspace tables<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      boolean includeSysTables);<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * List all of the names of userspace tables.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * @see #listTableNames(Optional, boolean)<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  default CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames() {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    return listTableNames(Optional.empty(), false);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * List all of the names of userspace tables.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param pattern The regular expression to match against<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param includeSysTables False to match only against userspace tables<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      boolean includeSysTables);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /**<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * Method for getting the tableDescriptor<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param tableName as a {@link TableName}<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @return the read-only tableDescriptor wrapped by a {@link CompletableFuture}.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName);<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /**<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * Creates a new table.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @param desc table descriptor for table<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  default CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    return createTable(desc, Optional.empty());<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Creates a new table with the specified number of regions. The start key specified will become<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * the end key of the first region of the table, and the end key specified will become the start<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * key of the last region of the table (the first region has a null start key and the last region<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * has a null end key). BigInteger math will be used to divide the key range specified into enough<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * segments to make the required number of total regions.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @param desc table descriptor for table<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @param startKey beginning of key range<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * @param endKey end of key range<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @param numRegions the total number of regions to create<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      int numRegions);<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * Creates a new table with an initial set of empty regions defined by the specified split keys.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * The total number of regions created will be the number of split keys plus one.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * Note : Avoid passing empty split key.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param desc table descriptor for table<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @param splitKeys array of split keys for the initial regions of the table<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  /**<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * Deletes a table.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @param tableName name of table to delete<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  CompletableFuture&lt;Void&gt; deleteTable(TableName tableName);<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Delete tables matching the passed in pattern and wait on completion. Warning: Use this method<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * carefully, there is no prompting and the effect is immediate. Consider using<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * {@link #listTableNames(Optional, boolean) } and<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * {@link #deleteTable(org.apache.hadoop.hbase.TableName)}<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * @param pattern The pattern to match table names against<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @return Table descriptors for tables that couldn't be deleted. The return value will be wrapped<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern);<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * Truncate a table.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @param tableName name of table to truncate<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @param preserveSplits True if the splits should be preserved<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits);<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * Enable a table. The table has to be in disabled state for it to be enabled.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @param tableName name of the table<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  CompletableFuture&lt;Void&gt; enableTable(TableName tableName);<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * {@link #enableTable(TableName)}<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param pattern The pattern to match table names against<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * @return Table descriptors for tables that couldn't be enabled. The return value will be wrapped<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern);<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  /**<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * Disable a table. The table has to be in enabled state for it to be disabled.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param tableName<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  CompletableFuture&lt;Void&gt; disableTable(TableName tableName);<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * {@link #disableTable(TableName)}<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param pattern The pattern to match table names against<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @return Table descriptors for tables that couldn't be disabled. The return value will be wrapped by a<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   *         {@link CompletableFuture}. The return HTDs are read-only.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @param tableName name of table to check<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @return true if table is on-line. The return value will be wrapped by a<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   *         {@link CompletableFuture}.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName);<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @param tableName name of table to check<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @return true if table is off-line. The return value will be wrapped by a<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   *         {@link CompletableFuture}.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * @param tableName name of table to check<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * @return true if all regions of the table are available. The return value will be wrapped by a<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   *         {@link CompletableFuture}.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  default CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    return isTableAvailable(tableName, null);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /**<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * Use this api to check if the table has been created with the specified number of splitkeys<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * which was used while creating the given table. Note : If this api is used after a table's<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * region gets splitted, the api may return false. The return value will be wrapped by a<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * {@link CompletableFuture}.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @param tableName name of table to check<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param splitKeys keys to check if the table has been created with all split keys<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys);<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>  /**<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   * Get the status of alter command - indicates how many regions have received the updated schema<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Asynchronous operation.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @param tableName TableName instance<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * @return Pair indicating the number of regions updated Pair.getFirst() is the regions that are<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *         yet to be updated Pair.getSecond() is the total number of regions of the table. The<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Add a column family to an existing table.<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param tableName name of the table to add column family to<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * @param columnFamily column family descriptor of column family to be added<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName,<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      ColumnFamilyDescriptor columnFamily);<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Delete a column family from a table.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param tableName name of table<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @param columnFamily name of column family to be deleted<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  CompletableFuture&lt;Void&gt; deleteColumnFamily(TableName tableName, byte[] columnFamily);<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  /**<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * Modify an existing column family on a table.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * @param tableName name of table<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param columnFamily new column family descriptor to use<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  CompletableFuture&lt;Void&gt; modifyColumnFamily(TableName tableName,<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      ColumnFamilyDescriptor columnFamily);<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>  /**<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * Create a new namespace.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param descriptor descriptor which describes the new namespace<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   */<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  CompletableFuture&lt;Void&gt; createNamespace(NamespaceDescriptor descriptor);<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Modify an existing namespace.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @param descriptor descriptor which describes the new namespace<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  CompletableFuture&lt;Void&gt; modifyNamespace(NamespaceDescriptor descriptor);<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * @param name namespace name<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  CompletableFuture&lt;Void&gt; deleteNamespace(String name);<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * Get a namespace descriptor by name<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * @param name name of namespace descriptor<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * @return A descriptor wrapped by a {@link CompletableFuture}.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  CompletableFuture&lt;NamespaceDescriptor&gt; getNamespaceDescriptor(String name);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  /**<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * List available namespace descriptors<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @return List of descriptors wrapped by a {@link CompletableFuture}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  CompletableFuture&lt;List&lt;NamespaceDescriptor&gt;&gt; listNamespaceDescriptors();<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * Turn the load balancer on or off.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @param on<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  CompletableFuture&lt;Boolean&gt; setBalancerOn(boolean on);<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * reassignments. Can NOT run for various reasons. Check logs.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   *         {@link CompletableFuture}.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  default CompletableFuture&lt;Boolean&gt; balance() {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return balance(false);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  /**<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * reassignments. If there is region in transition, force parameter of true would still run<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * balancer. Can *not* run for other reasons. Check logs.<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @param forcible whether we should force balance even if there is region in transition.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   *         {@link CompletableFuture}.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   */<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  CompletableFuture&lt;Boolean&gt; balance(boolean forcible);<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Query the current state of the balancer.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @return true if the balance switch is on, false otherwise The return value will be wrapped by a<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   *         {@link CompletableFuture}.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   */<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  CompletableFuture&lt;Boolean&gt; isBalancerOn();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Close a region. For expert-admins Runs close on the regionserver. The master will not be<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * informed of the close.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @param regionName region name to close<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param serverName The servername of the regionserver. If not present, we will use servername<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   *          found in the hbase:meta table. A server name is made of host, port and startcode. Here<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   *          is an example: &lt;code&gt; host187.example.com,60020,1289493121758&lt;/code&gt;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @return true if the region was closed, false if not. The return value will be wrapped by a<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   *         {@link CompletableFuture}.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  CompletableFuture&lt;Boolean&gt; closeRegion(byte[] regionName, Optional&lt;ServerName&gt; serverName);<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * Get all the online regions on a region server.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getOnlineRegions(ServerName serverName);<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * Flush a table.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param tableName table to flush<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  CompletableFuture&lt;Void&gt; flush(TableName tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * Flush an individual region.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param regionName region to flush<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  CompletableFuture&lt;Void&gt; flushRegion(byte[] regionName);<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>  /**<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * Compact a table. When the returned CompletableFuture is done, it only means the compact request<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * was sent to HBase and may need some time to finish the compact operation.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @param tableName table to compact<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  default CompletableFuture&lt;Void&gt; compact(TableName tableName) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return compact(tableName, Optional.empty());<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Compact a column family within a table. When the returned CompletableFuture is done, it only<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * operation.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param tableName table to compact<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param columnFamily column family within a table. If not present, compact the table's all<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *          column families.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   */<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  CompletableFuture&lt;Void&gt; compact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>  /**<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * Compact an individual region. When the returned CompletableFuture is done, it only means the<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * compact request was sent to HBase and may need some time to finish the compact operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param regionName region to compact<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  default CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    return compactRegion(regionName, Optional.empty());<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>  /**<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * Compact a column family within a region. When the returned CompletableFuture is done, it only<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * operation.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param regionName region to compact<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param columnFamily column family within a region. If not present, compact the region's all<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   *          column families.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Major compact a table. When the returned CompletableFuture is done, it only means the compact<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @param tableName table to major compact<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  default CompletableFuture&lt;Void&gt; majorCompact(TableName tableName) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    return majorCompact(tableName, Optional.empty());<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Major compact a column family within a table. When the returned CompletableFuture is done, it<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * operation.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * @param tableName table to major compact<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param columnFamily column family within a table. If not present, major compact the table's all<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   *          column families.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   */<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  CompletableFuture&lt;Void&gt; majorCompact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * Major compact a region. When the returned CompletableFuture is done, it only means the compact<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param regionName region to major compact<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   */<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  default CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    return majorCompactRegion(regionName, Optional.empty());<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  /**<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * Major compact a column family within region. When the returned CompletableFuture is done, it<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * operation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param regionName region to major compact<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param columnFamily column family within a region. If not present, major compact the region's<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *          all column families.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Compact all regions on the region server.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param serverName the region server name<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  CompletableFuture&lt;Void&gt; compactRegionServer(ServerName serverName);<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>  /**<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * Compact all regions on the region server.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param serverName the region server name<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  CompletableFuture&lt;Void&gt; majorCompactRegionServer(ServerName serverName);<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>  /**<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * Merge two regions.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param nameOfRegionA encoded or full name of region a<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @param nameOfRegionB encoded or full name of region b<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param forcible true if do a compulsory merge, otherwise we will only merge two adjacent<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   *          regions<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  CompletableFuture&lt;Void&gt; mergeRegions(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      boolean forcible);<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * Split a table. The method will execute split action for each region in table.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @param tableName table to split<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  CompletableFuture&lt;Void&gt; split(TableName tableName);<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>  /**<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * Split an individual region.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @param regionName region to split<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  default CompletableFuture&lt;Void&gt; splitRegion(byte[] regionName) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return splitRegion(regionName, Optional.empty());<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.Collection;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Map;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Optional;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.concurrent.CompletableFuture;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.regex.Pattern;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.ServerName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.TableName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * The asynchronous administrative API for HBase.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * This feature is still under development, so marked as IA.Private. Will change to public when<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * done. Use it with caution.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public interface AsyncAdmin {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * @param tableName Table to check.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @return True if table exists already. The return value will be wrapped by a<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   *         {@link CompletableFuture}.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName);<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * List all the userspace tables.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @see #listTables(Optional, boolean)<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  default CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    return listTables(Optional.empty(), false);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * List all the tables matching the given pattern.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * @param pattern The compiled regular expression to match against<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * @param includeSysTables False to match only against userspace tables<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      boolean includeSysTables);<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * List all of the names of userspace tables.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @see #listTableNames(Optional, boolean)<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  default CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames() {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return listTableNames(Optional.empty(), false);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * List all of the names of userspace tables.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param pattern The regular expression to match against<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param includeSysTables False to match only against userspace tables<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      boolean includeSysTables);<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * Method for getting the tableDescriptor<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param tableName as a {@link TableName}<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @return the read-only tableDescriptor wrapped by a {@link CompletableFuture}.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName);<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>  /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * Creates a new table.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @param desc table descriptor for table<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  default CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return createTable(desc, Optional.empty());<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Creates a new table with the specified number of regions. The start key specified will become<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * the end key of the first region of the table, and the end key specified will become the start<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * key of the last region of the table (the first region has a null start key and the last region<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * has a null end key). BigInteger math will be used to divide the key range specified into enough<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * segments to make the required number of total regions.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * @param desc table descriptor for table<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @param startKey beginning of key range<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @param endKey end of key range<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * @param numRegions the total number of regions to create<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      int numRegions);<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * Creates a new table with an initial set of empty regions defined by the specified split keys.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * The total number of regions created will be the number of split keys plus one.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * Note : Avoid passing empty split key.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @param desc table descriptor for table<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @param splitKeys array of split keys for the initial regions of the table<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  /**<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * Deletes a table.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param tableName name of table to delete<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  CompletableFuture&lt;Void&gt; deleteTable(TableName tableName);<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * Delete tables matching the passed in pattern and wait on completion. Warning: Use this method<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * carefully, there is no prompting and the effect is immediate. Consider using<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * {@link #listTableNames(Optional, boolean) } and<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * {@link #deleteTable(org.apache.hadoop.hbase.TableName)}<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @param pattern The pattern to match table names against<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * @return Table descriptors for tables that couldn't be deleted. The return value will be wrapped<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern);<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * Truncate a table.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * @param tableName name of table to truncate<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * @param preserveSplits True if the splits should be preserved<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits);<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * Enable a table. The table has to be in disabled state for it to be enabled.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @param tableName name of the table<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  CompletableFuture&lt;Void&gt; enableTable(TableName tableName);<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * {@link #enableTable(TableName)}<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   * @param pattern The pattern to match table names against<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * @return Table descriptors for tables that couldn't be enabled. The return value will be wrapped<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern);<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * Disable a table. The table has to be in enabled state for it to be disabled.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * @param tableName<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  CompletableFuture&lt;Void&gt; disableTable(TableName tableName);<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * {@link #disableTable(TableName)}<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @param pattern The pattern to match table names against<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @return Table descriptors for tables that couldn't be disabled. The return value will be wrapped by a<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   *         {@link CompletableFuture}. The return HTDs are read-only.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern);<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @param tableName name of table to check<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @return true if table is on-line. The return value will be wrapped by a<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   *         {@link CompletableFuture}.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName);<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  /**<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @param tableName name of table to check<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @return true if table is off-line. The return value will be wrapped by a<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   *         {@link CompletableFuture}.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param tableName name of table to check<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @return true if all regions of the table are available. The return value will be wrapped by a<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *         {@link CompletableFuture}.<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   */<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  default CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    return isTableAvailable(tableName, null);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  /**<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * Use this api to check if the table has been created with the specified number of splitkeys<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * which was used while creating the given table. Note : If this api is used after a table's<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * region gets splitted, the api may return false. The return value will be wrapped by a<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * {@link CompletableFuture}.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @param tableName name of table to check<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * @param splitKeys keys to check if the table has been created with all split keys<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys);<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * Get the status of alter command - indicates how many regions have received the updated schema<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * Asynchronous operation.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * @param tableName TableName instance<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * @return Pair indicating the number of regions updated Pair.getFirst() is the regions that are<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   *         yet to be updated Pair.getSecond() is the total number of regions of the table. The<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName);<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * Add a column family to an existing table.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @param tableName name of the table to add column family to<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @param columnFamily column family descriptor of column family to be added<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName,<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      ColumnFamilyDescriptor columnFamily);<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Delete a column family from a table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * @param tableName name of table<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param columnFamily name of column family to be deleted<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  CompletableFuture&lt;Void&gt; deleteColumnFamily(TableName tableName, byte[] columnFamily);<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Modify an existing column family on a table.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * @param tableName name of table<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * @param columnFamily new column family descriptor to use<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  CompletableFuture&lt;Void&gt; modifyColumnFamily(TableName tableName,<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      ColumnFamilyDescriptor columnFamily);<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * Create a new namespace.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param descriptor descriptor which describes the new namespace<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  CompletableFuture&lt;Void&gt; createNamespace(NamespaceDescriptor descriptor);<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * Modify an existing namespace.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * @param descriptor descriptor which describes the new namespace<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  CompletableFuture&lt;Void&gt; modifyNamespace(NamespaceDescriptor descriptor);<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param name namespace name<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  CompletableFuture&lt;Void&gt; deleteNamespace(String name);<a name="line.271"></a>
+<span class="sourceLineNo">272</span><a name="line.272"></a>
+<span class="sourceLineNo">273</span>  /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * Get a namespace descriptor by name<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   * @param name name of namespace descriptor<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * @return A descriptor wrapped by a {@link CompletableFuture}.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   */<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  CompletableFuture&lt;NamespaceDescriptor&gt; getNamespaceDescriptor(String name);<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * List available namespace descriptors<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * @return List of descriptors wrapped by a {@link CompletableFuture}.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  CompletableFuture&lt;List&lt;NamespaceDescriptor&gt;&gt; listNamespaceDescriptors();<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * Turn the load balancer on or off.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * @param on<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  CompletableFuture&lt;Boolean&gt; setBalancerOn(boolean on);<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * reassignments. Can NOT run for various reasons. Check logs.<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   *         {@link CompletableFuture}.<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   */<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  default CompletableFuture&lt;Boolean&gt; balance() {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    return balance(false);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * reassignments. If there is region in transition, force parameter of true would still run<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * balancer. Can *not* run for other reasons. Check logs.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @param forcible whether we should force balance even if there is region in transition.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   *         {@link CompletableFuture}.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  CompletableFuture&lt;Boolean&gt; balance(boolean forcible);<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /**<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Query the current state of the balancer.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @return true if the balance switch is on, false otherwise The return value will be wrapped by a<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   *         {@link CompletableFuture}.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  CompletableFuture&lt;Boolean&gt; isBalancerOn();<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * Close a region. For expert-admins Runs close on the regionserver. The master will not be<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * informed of the close.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @param regionName region name to close<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @param serverName The servername of the regionserver. If not present, we will use servername<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   *          found in the hbase:meta table. A server name is made of host, port and startcode. Here<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   *          is an example: &lt;code&gt; host187.example.com,60020,1289493121758&lt;/code&gt;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @return true if the region was closed, false if not. The return value will be wrapped by a<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   *         {@link CompletableFuture}.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  CompletableFuture&lt;Boolean&gt; closeRegion(byte[] regionName, Optional&lt;ServerName&gt; serverName);<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * Get all the online regions on a region server.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getOnlineRegions(ServerName serverName);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /**<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * Get the regions of a given table.<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   */<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getTableRegions(TableName tableName);<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  /**<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * Flush a table.<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param tableName table to flush<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  CompletableFuture&lt;Void&gt; flush(TableName tableName);<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * Flush an individual region.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @param regionName region to flush<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  CompletableFuture&lt;Void&gt; flushRegion(byte[] regionName);<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * Compact a table. When the returned CompletableFuture is done, it only means the compact request<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * was sent to HBase and may need some time to finish the compact operation.<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * @param tableName table to compact<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  default CompletableFuture&lt;Void&gt; compact(TableName tableName) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    return compact(tableName, Optional.empty());<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  /**<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * Compact a column family within a table. When the returned CompletableFuture is done, it only<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * operation.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param tableName table to compact<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param columnFamily column family within a table. If not present, compact the table's all<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   *          column families.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   */<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  CompletableFuture&lt;Void&gt; compact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.371"></a>
+<span class="sourceLineNo">372</span><a name="line.372"></a>
+<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * Compact an individual region. When the returned CompletableFuture is done, it only means the<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * compact request was sent to HBase and may need some time to finish the compact operation.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * @param regionName region to compact<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   */<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  default CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return compactRegion(regionName, Optional.empty());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
+<span class="sourceLineNo">381</span><a name="line.381"></a>
+<span class="sourceLineNo">382</span>  /**<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * Compact a column family within a region. When the returned CompletableFuture is done, it only<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * operation.<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @param regionName region to compact<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * @param columnFamily column family within a region. If not present, compact the region's all<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   *          column families.<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
+<span class="sourceLineNo">390</span>  CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   * Major compact a table. When the returned CompletableFuture is done, it only means the compact<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * @param tableName table to major compact<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   */<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  default CompletableFuture&lt;Void&gt; majorCompact(TableName tableName) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return majorCompact(tableName, Optional.empty());<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Major compact a column family within a table. When the returned CompletableFuture is done, it<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * operation.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * @param tableName table to major compact<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * @param columnFamily column family within a table. If not present, major compact the table's all<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   *          column families.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  CompletableFuture&lt;Void&gt; majorCompact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.409"></a>
+<span class="sourceLineNo">410</span><a name="line.410"></a>
+<span class="sourceLineNo">411</span>  /**<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * Major compact a region. When the returned CompletableFuture is done, it only means the compact<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @param regionName region to major compact<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  default CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    return majorCompactRegion(regionName, Optional.empty());<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * Major compact a column family within region. When the returned CompletableFuture is done, it<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * operation.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * @param regionName region to major compact<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param columnFamily column family within a region. If not present, major compact the region's<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   *          all column families.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   */<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>  /**<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * Compact all regions on the region server.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @param serverName the region server name<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   */<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  CompletableFuture&lt;Void&gt; compactRegionServer(ServerName serverName);<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span>  /**<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * Compact all regions on the region server.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * @param serverName the region server name<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   */<a name="line.439"></a>
+<span class="sourceLineNo">440</span>  CompletableFuture&lt;Void&gt; majorCompactRegionServer(ServerName serverName);<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>  /**<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * Merge two regions.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param nameOfRegionA encoded or full name of region a<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param nameOfRegionB encoded or full name of region b<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @param forcible true if do a compulsory merge, otherwise we will only merge two adjacent<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   *          regions<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
+<span class="sourceLineNo">449</span>  CompletableFuture&lt;Void&gt; mergeRegions(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.449"></a>
+<span class="sourceLi

<TRUNCATED>

[23/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.Converter.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>  @Override

<TRUNCATED>

[12/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="l

<TRUNCATED>

[33/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
index b261615..cecc275 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -88,11 +88,11 @@
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>


[03/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
index 2a7863b..8ea1e1f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
@@ -190,895 +190,899 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNamespaceAdminApi</a></td>
 <td class="colLast">
 <div class="block">Class to test asynchronous namespace admin operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNonMetaRegionLocator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocatorConcurrenyLimit.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNonMetaRegionLocatorConcurrenyLimit</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocatorConcurrenyLimit.CountingRegionObserver.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNonMetaRegionLocatorConcurrenyLimit.CountingRegionObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcedureAdminApi</a></td>
 <td class="colLast">
 <div class="block">Class to test asynchronous procedure admin operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.AsyncProcessForThrowableCheck.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.AsyncProcessForThrowableCheck</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.AsyncProcessWithFailure.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.AsyncProcessWithFailure</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.CallerWithFailure.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.CallerWithFailure</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.CountingThreadFactory.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.CountingThreadFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyAsyncProcess.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyAsyncProcess</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyAsyncRequestFutureImpl.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyAsyncRequestFutureImpl</a>&lt;Res&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyClientBackoffPolicy.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyClientBackoffPolicy</a></td>
 <td class="colLast">
 <div class="block">Make the backoff time always different on each call.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyConnectionImpl</a></td>
 <td class="colLast">
 <div class="block">Returns our async process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyConnectionImpl.TestRegistry.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyConnectionImpl.TestRegistry</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyConnectionImpl2.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyConnectionImpl2</a></td>
 <td class="colLast">
 <div class="block">Returns our async process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcess.MyThreadPoolExecutor.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyThreadPoolExecutor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncQuotaAdminApi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></td>
 <td class="colLast">
 <div class="block">Class to test asynchronous region admin operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionLocatorTimeout.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionLocatorTimeout</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionLocatorTimeout.SleepRegionObserver.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionLocatorTimeout.SleepRegionObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncReplicationAdminApi</a></td>
 <td class="colLast">
 <div class="block">Class to test asynchronous replication admin operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSingleRequestRpcRetryingCaller</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSnapshotAdminApi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTable.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTable</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableAdminApi</a></td>
 <td class="colLast">
 <div class="block">Class to test asynchronous table admin operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableBatch.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableBatch</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableBatch.ErrorInjectObserver.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableBatch.ErrorInjectObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreaded.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableGetMultiThreaded</a></td>
 <td class="colLast">
 <div class="block">Will split the table, and move region randomly when testing.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreadedWithBasicCompaction.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableGetMultiThreadedWithBasicCompaction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreadedWithEagerCompaction.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableGetMultiThreadedWithEagerCompaction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableNoncedRetry.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableNoncedRetry</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScan.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScan</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScanAll.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanAll</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScanMetrics.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanMetrics</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScanner.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScannerCloseWhileSuspending.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScannerCloseWhileSuspending</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScanRenewLease.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanRenewLease</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScanRenewLease.RenewLeaseConsumer.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanRenewLease.RenewLeaseConsumer</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAttributes.html" title="class in org.apache.hadoop.hbase.client">TestAttributes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAvoidCellReferencesIntoShippedBlocks.html" title="class in org.apache.hadoop.hbase.client">TestAvoidCellReferencesIntoShippedBlocks</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAvoidCellReferencesIntoShippedBlocks.CompactorRegionObserver.html" title="class in org.apache.hadoop.hbase.client">TestAvoidCellReferencesIntoShippedBlocks.CompactorRegionObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAvoidCellReferencesIntoShippedBlocks.CompactorStoreScanner.html" title="class in org.apache.hadoop.hbase.client">TestAvoidCellReferencesIntoShippedBlocks.CompactorStoreScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestAvoidCellReferencesIntoShippedBlocks.ScannerThread.html" title="class in org.apache.hadoop.hbase.client">TestAvoidCellReferencesIntoShippedBlocks.ScannerThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBatchScanResultCache.html" title="class in org.apache.hadoop.hbase.client">TestBatchScanResultCache</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomInnerRegionObserver.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.CustomInnerRegionObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomInnerRegionObserverWrapper.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.CustomInnerRegionObserverWrapper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.CustomScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.GetThread.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.GetThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.MultiGetThread.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.MultiGetThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.ScanThread.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.ScanThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBufferedMutator.html" title="class in org.apache.hadoop.hbase.client">TestBufferedMutator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBufferedMutator.DoNothingRegistry.html" title="class in org.apache.hadoop.hbase.client">TestBufferedMutator.DoNothingRegistry</a></td>
 <td class="colLast">
 <div class="block">Registry that does nothing.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBufferedMutator.MyBufferedMutator.html" title="class in org.apache.hadoop.hbase.client">TestBufferedMutator.MyBufferedMutator</a></td>
 <td class="colLast">
 <div class="block">My BufferedMutator.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestBufferedMutatorParams.html" title="class in org.apache.hadoop.hbase.client">TestBufferedMutatorParams</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestCheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">TestCheckAndMutate</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientExponentialBackoff.html" title="class in org.apache.hadoop.hbase.client">TestClientExponentialBackoff</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster</a></td>
 <td class="colLast">
 <div class="block">Test client behavior w/o setting up a cluster.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.FakeServer.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.FakeServer</a></td>
 <td class="colLast">
 <div class="block">Fake 'server'.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.ManyServersManyRegionsConnection.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.ManyServersManyRegionsConnection</a></td>
 <td class="colLast">
 <div class="block">Fake many regionservers and many regions on a connection implementation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.MetaRowsComparator.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.MetaRowsComparator</a></td>
 <td class="colLast">
 <div class="block">Comparator for meta row keys.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.RegionServerStoppedOnScannerOpenConnection.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.RegionServerStoppedOnScannerOpenConnection</a></td>
 <td class="colLast">
 <div class="block">Override to shutdown going to zookeeper for cluster id and meta location.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.RpcTimeoutConnection.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.RpcTimeoutConnection</a></td>
 <td class="colLast">
 <div class="block">Override to check we are setting rpc timeout right.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientNoCluster.SimpleRegistry.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.SimpleRegistry</a></td>
 <td class="colLast">
 <div class="block">Simple cluster registry inserted in place of our usual zookeeper based one.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientOperationInterrupt.html" title="class in org.apache.hadoop.hbase.client">TestClientOperationInterrupt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientOperationInterrupt.TestCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestClientOperationInterrupt.TestCoprocessor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientPushback.html" title="class in org.apache.hadoop.hbase.client">TestClientPushback</a></td>
 <td class="colLast">
 <div class="block">Test that we can actually send and use region metrics to slowdown client writes</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientScanner.html" title="class in org.apache.hadoop.hbase.client">TestClientScanner</a></td>
 <td class="colLast">
 <div class="block">Test the ClientScanner.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientScanner.MockClientScanner.html" title="class in org.apache.hadoop.hbase.client">TestClientScanner.MockClientScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientScanner.MockRpcRetryingCallerFactory.html" title="class in org.apache.hadoop.hbase.client">TestClientScanner.MockRpcRetryingCallerFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.html" title="class in org.apache.hadoop.hbase.client">TestClientScannerRPCTimeout</a></td>
 <td class="colLast">
 <div class="block">Test the scenario where a HRegionServer#scan() call, while scanning, timeout at client side and
  getting retried.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.RegionServerWithScanTimeout.html" title="class in org.apache.hadoop.hbase.client">TestClientScannerRPCTimeout.RegionServerWithScanTimeout</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.RSRpcServicesWithScanTimeout.html" title="class in org.apache.hadoop.hbase.client">TestClientScannerRPCTimeout.RSRpcServicesWithScanTimeout</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientTimeouts.html" title="class in org.apache.hadoop.hbase.client">TestClientTimeouts</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientTimeouts.RandomTimeoutBlockingRpcChannel.html" title="class in org.apache.hadoop.hbase.client">TestClientTimeouts.RandomTimeoutBlockingRpcChannel</a></td>
 <td class="colLast">
 <div class="block">Blocking rpc channel that goes via hbase rpc.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientTimeouts.RandomTimeoutRpcClient.html" title="class in org.apache.hadoop.hbase.client">TestClientTimeouts.RandomTimeoutRpcClient</a></td>
 <td class="colLast">
 <div class="block">Rpc Channel implementation with RandomTimeoutBlockingRpcChannel</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestCloneSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestCloneSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test clone snapshots from the client</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestCloneSnapshotFromClientWithRegionReplicas.html" title="class in org.apache.hadoop.hbase.client">TestCloneSnapshotFromClientWithRegionReplicas</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestColumnFamilyDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TestColumnFamilyDescriptorBuilder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestCompleteResultScanResultCache.html" title="class in org.apache.hadoop.hbase.client">TestCompleteResultScanResultCache</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestConnectionImplementation.html" title="class in org.apache.hadoop.hbase.client">TestConnectionImplementation</a></td>
 <td class="colLast">
 <div class="block">Tests that we fail fast when hostname resolution is not working and do not cache
  unresolved InetSocketAddresses.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestConnectionUtils.html" title="class in org.apache.hadoop.hbase.client">TestConnectionUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestDelayingRunner.html" title="class in org.apache.hadoop.hbase.client">TestDelayingRunner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestDeleteTimeStamp.html" title="class in org.apache.hadoop.hbase.client">TestDeleteTimeStamp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestEnableTable.html" title="class in org.apache.hadoop.hbase.client">TestEnableTable</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestEnableTable.MasterSyncObserver.html" title="class in org.apache.hadoop.hbase.client">TestEnableTable.MasterSyncObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFastFail.html" title="class in org.apache.hadoop.hbase.client">TestFastFail</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFastFail.CallQueueTooBigPffeInterceptor.html" title="class in org.apache.hadoop.hbase.client">TestFastFail.CallQueueTooBigPffeInterceptor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFastFail.MyPreemptiveFastFailInterceptor.html" title="class in org.apache.hadoop.hbase.client">TestFastFail.MyPreemptiveFastFailInterceptor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide</a></td>
 <td class="colLast">
 <div class="block">Run tests that use the HBase clients; <code>Table</code>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide.ExceptionInReseekRegionObserver.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ExceptionInReseekRegionObserver</a></td>
 <td class="colLast">
 <div class="block">This is a coprocessor to inject a test failure so that a store scanner.reseek() call will
  fail with an IOException() on the first call.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide3.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide3</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide3.WatiingForMultiMutationsObserver.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide3.WatiingForMultiMutationsObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide3.WatiingForScanObserver.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide3.WatiingForScanObserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSideNoCodec.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSideNoCodec</a></td>
 <td class="colLast">
 <div class="block">Do some ops and prove that client and server can work w/o codecs; that we can pb all the time.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSideWithCoprocessor</a></td>
 <td class="colLast">
 <div class="block">Test all client operations with a coprocessor that
  just implements the default flush/compact/scan policy.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestGet.html" title="class in org.apache.hadoop.hbase.client">TestGet</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.html" title="class in org.apache.hadoop.hbase.client">TestHBaseAdminNoCluster</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHCM.html" title="class in org.apache.hadoop.hbase.client">TestHCM</a></td>
 <td class="colLast">
 <div class="block">This class is for testing HBaseConnectionManager features</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHCM.BlockingFilter.html" title="class in org.apache.hadoop.hbase.client">TestHCM.BlockingFilter</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHCM.SleepAndFailFirstTime.html" title="class in org.apache.hadoop.hbase.client">TestHCM.SleepAndFailFirstTime</a></td>
 <td class="colLast">
 <div class="block">This copro sleeps 20 second.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHCM.SleepCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestHCM.SleepCoprocessor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHCM.SleepLongerAtFirstCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestHCM.SleepLongerAtFirstCoprocessor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">TestHTableMultiplexer</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHTableMultiplexerFlushCache.html" title="class in org.apache.hadoop.hbase.client">TestHTableMultiplexerFlushCache</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestHTableMultiplexerViaMocks.html" title="class in org.apache.hadoop.hbase.client">TestHTableMultiplexerViaMocks</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TestIllegalTableDescriptor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.ListAppender.html" title="class in org.apache.hadoop.hbase.client">TestIllegalTableDescriptor.ListAppender</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestImmutableHColumnDescriptor.html" title="class in org.apache.hadoop.hbase.client">TestImmutableHColumnDescriptor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestImmutableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TestImmutableHTableDescriptor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestIncrement.html" title="class in org.apache.hadoop.hbase.client">TestIncrement</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestIncrementFromClientSideWithCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestIncrementFromClientSideWithCoprocessor</a></td>
 <td class="colLast">
 <div class="block">Test all <code>Increment</code> client operations with a coprocessor that
  just implements the default flush/compact/scan policy.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestIncrementsFromClientSide.html" title="class in org.apache.hadoop.hbase.client">TestIncrementsFromClientSide</a></td>
 <td class="colLast">
 <div class="block">Run Increment tests that use the HBase clients; <code>HTable</code>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestIntraRowPagination.html" title="class in org.apache.hadoop.hbase.client">TestIntraRowPagination</a></td>
 <td class="colLast">
 <div class="block">Test scan/get offset and limit settings within one row through HRegion API.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestLeaseRenewal.html" title="class in org.apache.hadoop.hbase.client">TestLeaseRenewal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestLimitedScanWithFilter.html" title="class in org.apache.hadoop.hbase.client">TestLimitedScanWithFilter</a></td>
 <td class="colLast">
 <div class="block">With filter we may stop at a middle of row and think that we still have more cells for the
  current row but actually all the remaining cells will be filtered out by the filter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaCache.html" title="class in org.apache.hadoop.hbase.client">TestMetaCache</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaCache.CallQueueTooBigExceptionInjector.html" title="class in org.apache.hadoop.hbase.client">TestMetaCache.CallQueueTooBigExceptionInjector</a></td>
 <td class="colLast">
 <div class="block">Throws CallQueueTooBigException for all gets.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaCache.ExceptionInjector.html" title="class in org.apache.hadoop.hbase.client">TestMetaCache.ExceptionInjector</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaCache.FakeRSRpcServices.html" title="class in org.apache.hadoop.hbase.client">TestMetaCache.FakeRSRpcServices</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaCache.RegionServerWithFakeRpcServices.html" title="class in org.apache.hadoop.hbase.client">TestMetaCache.RegionServerWithFakeRpcServices</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaCache.RoundRobinExceptionInjector.html" title="class in org.apache.hadoop.hbase.client">TestMetaCache.RoundRobinExceptionInjector</a></td>
 <td class="colLast">
 <div class="block">Rotates through the possible cache clearing and non-cache clearing exceptions
  for requests.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetaWithReplicas.html" title="class in org.apache.hadoop.hbase.client">TestMetaWithReplicas</a></td>
 <td class="colLast">
 <div class="block">Tests the scenarios where replicas are enabled for the meta table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMetricsConnection.html" title="class in org.apache.hadoop.hbase.client">TestMetricsConnection</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestMobCloneSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test clone snapshots from the client</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClient.DelayFlushCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestMobCloneSnapshotFromClient.DelayFlushCoprocessor</a></td>
 <td class="colLast">
 <div class="block">This coprocessor is used to delay the flush.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestMobRestoreSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test restore snapshots from the client</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.html" title="class in org.apache.hadoop.hbase.client">TestMobSnapshotCloneIndependence</a></td>
 <td class="colLast">
 <div class="block">Test to verify that the cloned table is independent of the table from which it was cloned</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMobSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestMobSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test create/using/deleting snapshots from the client</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMultiParallel.html" title="class in org.apache.hadoop.hbase.client">TestMultiParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMultipleTimestamps.html" title="class in org.apache.hadoop.hbase.client">TestMultipleTimestamps</a></td>
 <td class="colLast">
 <div class="block">Run tests related to <code>TimestampsFilter</code> using HBase client APIs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMultiRespectsLimits.html" title="class in org.apache.hadoop.hbase.client">TestMultiRespectsLimits</a></td>
 <td class="colLast">
 <div class="block">This test sets the multi size WAAAAAY low and then checks to make sure that gets will still make
  progress.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestMvccConsistentScanner.html" title="class in org.apache.hadoop.hbase.client">TestMvccConsistentScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestOperation.html" title="class in org.apache.hadoop.hbase.client">TestOperation</a></td>
 <td class="colLast">
 <div class="block">Run tests that use the functionality of the Operation superclass for
  Puts, Gets, Deletes, Scans, and MultiPuts.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestProcedureFuture.html" title="class in org.apache.hadoop.hbase.client">TestProcedureFuture</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestProcedureFuture.TestFuture.html" title="class in org.apache.hadoop.hbase.client">TestProcedureFuture.TestFuture</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestPut.html" title="class in org.apache.hadoop.hbase.client">TestPut</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestPutDeleteEtcCellIteration.html" title="class in org.apache.hadoop.hbase.client">TestPutDeleteEtcCellIteration</a></td>
 <td class="colLast">
 <div class="block">Test that I can Iterate Client Actions that hold Cells (Get does not have Cells).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestPutDotHas.html" title="class in org.apache.hadoop.hbase.client">TestPutDotHas</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestPutWithDelete.html" title="class in org.apache.hadoop.hbase.client">TestPutWithDelete</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestPutWriteToWal.html" title="class in org.apache.hadoop.hbase.client">TestPutWriteToWal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRawAsyncTableLimitedScanWithFilter.html" title="class in org.apache.hadoop.hbase.client">TestRawAsyncTableLimitedScanWithFilter</a></td>
 <td class="colLast">
 <div class="block">With filter we may stop at a middle of row and think that we still have more cells for the
  current row but actually all the remaining cells will be filtered out by the filter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRawAsyncTablePartialScan.html" title="class in org.apache.hadoop.hbase.client">TestRawAsyncTablePartialScan</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRawAsyncTableScan.html" title="class in org.apache.hadoop.hbase.client">TestRawAsyncTableScan</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicasClient.html" title="class in org.apache.hadoop.hbase.client">TestReplicasClient</a></td>
 <td class="colLast">
 <div class="block">Tests for region replicas.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicasClient.SlowMeCopro.html" title="class in org.apache.hadoop.hbase.client">TestReplicasClient.SlowMeCopro</a></td>
 <td class="colLast">
 <div class="block">This copro is used to synchronize the tests.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicationShell.html" title="class in org.apache.hadoop.hbase.client">TestReplicationShell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicaWithCluster.html" title="class in org.apache.hadoop.hbase.client">TestReplicaWithCluster</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicaWithCluster.RegionServerHostingPrimayMetaRegionSlowOrStopCopro.html" title="class in org.apache.hadoop.hbase.client">TestReplicaWithCluster.RegionServerHostingPrimayMetaRegionSlowOrStopCopro</a></td>
 <td class="colLast">
 <div class="block">This copro is used to slow down the primary meta region scan a bit</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicaWithCluster.RegionServerStoppedCopro.html" title="class in org.apache.hadoop.hbase.client">TestReplicaWithCluster.RegionServerStoppedCopro</a></td>
 <td class="colLast">
 <div class="block">This copro is used to simulate region server down exception for Get and Scan</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestReplicaWithCluster.SlowMeCopro.html" title="class in org.apache.hadoop.hbase.client">TestReplicaWithCluster.SlowMeCopro</a></td>
 <td class="colLast">
 <div class="block">This copro is used to synchronize the tests.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestRestoreSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test restore snapshots from the client</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientWithRegionReplicas.html" title="class in org.apache.hadoop.hbase.client">TestRestoreSnapshotFromClientWithRegionReplicas</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestResult.html" title="class in org.apache.hadoop.hbase.client">TestResult</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestResultSizeEstimation.html" title="class in org.apache.hadoop.hbase.client">TestResultSizeEstimation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRpcControllerFactory.html" title="class in org.apache.hadoop.hbase.client">TestRpcControllerFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRpcControllerFactory.CountingRpcController.html" title="class in org.apache.hadoop.hbase.client">TestRpcControllerFactory.CountingRpcController</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestRpcControllerFactory.StaticRpcControllerFactory.html" title="class in org.apache.hadoop.hbase.client">TestRpcControllerFactory.StaticRpcControllerFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestScan.html" title="class in org.apache.hadoop.hbase.client">TestScan</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestScannersFromClientSide.html" title="class in org.apache.hadoop.hbase.client">TestScannersFromClientSide</a></td>
 <td class="colLast">
 <div class="block">A client-side test, mostly testing scanners with various parameters.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestScannersFromClientSide2.html" title="class in org.apache.hadoop.hbase.client">TestScannersFromClientSide2</a></td>
 <td class="colLast">
 <div class="block">Testcase for newly added feature in HBASE-17143, such as startRow and stopRow
  inclusive/exclusive, limit for rows, etc.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client">TestScannerTimeout</a></td>
 <td class="colLast">
 <div class="block">Test various scanner timeout issues.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></td>
 <td class="colLast">
 <div class="block">Testcase to make sure that we do not close scanners if ScanRequest.numberOfRows is zero.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestServerBusyException.html" title="class in org.apache.hadoop.hbase.client">TestServerBusyException</a></td>
 <td class="colLast">
 <div class="block">This class is for testing HBaseConnectionManager ServerBusyException.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestServerBusyException.SleepCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestServerBusyException.SleepCoprocessor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestServerBusyException.SleepLongerAtFirstCoprocessor.html" title="class in org.apache.hadoop.hbase.client">TestServerBusyException.SleepLongerAtFirstCoprocessor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestShell.html" title="class in org.apache.hadoop.hbase.client">TestShell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestShellNoCluster.html" title="class in org.apache.hadoop.hbase.client">TestShellNoCluster</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestShortCircuitConnection.html" title="class in org.apache.hadoop.hbase.client">TestShortCircuitConnection</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSimpleRequestController.html" title="class in org.apache.hadoop.hbase.client">TestSimpleRequestController</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSizeFailures.html" title="class in org.apache.hadoop.hbase.client">TestSizeFailures</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSmallReversedScanner.html" title="class in org.apache.hadoop.hbase.client">TestSmallReversedScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotCloneIndependence</a></td>
 <td class="colLast">
 <div class="block">Test to verify that the cloned table is independent of the table from which it was cloned</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromAdmin</a></td>
 <td class="colLast">
 <div class="block">Test snapshot logic from the client</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test create/using/deleting snapshots from the client</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromClientWithRegionReplicas.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromClientWithRegionReplicas</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotMetadata.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotMetadata</a></td>
 <td class="colLast">
 <div class="block">Test class to verify that metadata is consistent before and after a snapshot attempt.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotWithAcl.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotWithAcl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotWithAcl.AccessReadAction.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotWithAcl.AccessReadAction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotWithAcl.AccessWriteAction.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotWithAcl.AccessWriteAction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.html" title="class in org.apache.hadoop.hbase.client">TestSplitOrMergeStatus</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TestTableDescriptorBuilder</a></td>
 <td class="colLast">
 <div class="block">Test setting values in the descriptor</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableFavoredNodes.html" title="class in org.apache.hadoop.hbase.client">TestTableFavoredNodes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client">TestTableSnapshotScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTimestampsFilter.html" title="class in org.apache.hadoop.hbase.client">TestTimestampsFilter</a></td>
 <td class="colLast">
 <div class="block">Run tests related to <code>TimestampsFilter</code> using HBase client APIs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestUpdateConfiguration.html" title="class in org.apache.hadoop.hbase.client">TestUpdateConfiguration</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestZKAsyncRegistry.html" title="class in org.apache.hadoop.hbase.client">TestZKAsyncRegistry</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 07350b1..ce59ced 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -236,6 +236,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncAdminBase</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncBalancerAdminApi</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncClusterAdminApi</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncNamespaceAdminApi</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncProcedureAdminApi</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncQuotaAdminApi</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index b89116f..e6bc9ca 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -158,8 +158,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index bafb19d..667eba5 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -542,15 +542,15 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index b97ba43..451a7e3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -206,8 +206,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 806d79a..31a98eb 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -624,11 +624,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index 48d8abf..841feb1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -248,9 +248,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 8e1c1ad..d8c3b5b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -140,9 +140,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index f018662..4c9ff38 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -2092,6 +2092,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncAdminBase</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncBalancerAdminApi</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncClusterAdminApi</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncNamespaceAdminApi</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncProcedureAdminApi</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestAsyncQuotaAdminApi</span></a></li>


[04/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
index 1d80bb7..857e044 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.66">TestAsyncTableAdminApi</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.67">TestAsyncTableAdminApi</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAdminBase</a></pre>
 <div class="block">Class to test asynchronous table admin operations.</div>
 </li>
@@ -181,109 +181,113 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTable--">testCreateTable</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCompactionTimestamps--">testCompactionTimestamps</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableNumberOfRegions--">testCreateTableNumberOfRegions</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTable--">testCreateTable</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableWithEmptyRowInTheSplitKeys--">testCreateTableWithEmptyRowInTheSplitKeys</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableNumberOfRegions--">testCreateTableNumberOfRegions</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableWithOnlyEmptyStartRow--">testCreateTableWithOnlyEmptyStartRow</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableWithEmptyRowInTheSplitKeys--">testCreateTableWithEmptyRowInTheSplitKeys</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableWithRegions--">testCreateTableWithRegions</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableWithOnlyEmptyStartRow--">testCreateTableWithOnlyEmptyStartRow</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteColumnFamily--">testDeleteColumnFamily</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testCreateTableWithRegions--">testCreateTableWithRegions</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteSameColumnFamilyTwice--">testDeleteSameColumnFamilyTwice</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteColumnFamily--">testDeleteColumnFamily</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteTable--">testDeleteTable</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteSameColumnFamilyTwice--">testDeleteSameColumnFamilyTwice</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteTables--">testDeleteTables</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteTable--">testDeleteTable</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDisableAndEnableTable--">testDisableAndEnableTable</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDeleteTables--">testDeleteTables</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDisableAndEnableTables--">testDisableAndEnableTables</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDisableAndEnableTable--">testDisableAndEnableTable</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDisableCatalogTable--">testDisableCatalogTable</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDisableAndEnableTables--">testDisableAndEnableTables</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testEnableTableRetainAssignment--">testEnableTableRetainAssignment</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testDisableCatalogTable--">testDisableCatalogTable</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testGetTableDescriptor--">testGetTableDescriptor</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testEnableTableRetainAssignment--">testEnableTableRetainAssignment</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testIsTableEnabledAndDisabled--">testIsTableEnabledAndDisabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testGetTableDescriptor--">testGetTableDescriptor</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testListTables--">testListTables</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testIsTableEnabledAndDisabled--">testIsTableEnabledAndDisabled</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testModifyColumnFamily--">testModifyColumnFamily</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testListTables--">testListTables</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testModifyNonExistingColumnFamily--">testModifyNonExistingColumnFamily</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testModifyColumnFamily--">testModifyColumnFamily</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTableAvailableWithRandomSplitKeys--">testTableAvailableWithRandomSplitKeys</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testModifyNonExistingColumnFamily--">testModifyNonExistingColumnFamily</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTableExist--">testTableExist</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTableAvailableWithRandomSplitKeys--">testTableAvailableWithRandomSplitKeys</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTruncateTable--">testTruncateTable</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTableExist--">testTableExist</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i24" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTruncateTable--">testTruncateTable</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTruncateTable-org.apache.hadoop.hbase.TableName-boolean-">testTruncateTable</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                  boolean&nbsp;preserveSplits)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#testTruncateTablePreservingSplits--">testTruncateTablePreservingSplits</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#verifyRoundRobinDistribution-java.util.List-int-">verifyRoundRobinDistribution</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionLocation&gt;&nbsp;regions,
                             int&nbsp;expectedRegions)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#verifyTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.TableName-byte:A...-">verifyTableDescriptor</a></span>(org.apache.hadoop.hbase.client.TableDescriptor&nbsp;htd,
                      org.apache.hadoop.hbase.TableName&nbsp;tableName,
                      byte[]...&nbsp;families)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#verifyTableDescriptor-org.apache.hadoop.hbase.TableName-byte:A...-">verifyTableDescriptor</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                      byte[]...&nbsp;families)</code>&nbsp;</td>
@@ -323,7 +327,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestAsyncTableAdminApi</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.66">TestAsyncTableAdminApi</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.67">TestAsyncTableAdminApi</a>()</pre>
 </li>
 </ul>
 </li>
@@ -340,7 +344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTableExist</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.69">testTableExist</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.70">testTableExist</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -354,7 +358,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testListTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.81">testListTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.82">testListTables</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -368,7 +372,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testGetTableDescriptor</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.131">testGetTableDescriptor</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.132">testGetTableDescriptor</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -382,7 +386,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.145">testCreateTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.146">testCreateTable</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -396,7 +400,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateFromMeta</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.TableState.State&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.156">getStateFromMeta</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
+<pre>private&nbsp;org.apache.hadoop.hbase.client.TableState.State&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.157">getStateFromMeta</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
                                                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -410,7 +414,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableNumberOfRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.164">testCreateTableNumberOfRegions</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.165">testCreateTableNumberOfRegions</a>()
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -424,7 +428,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableWithRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.206">testCreateTableWithRegions</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.207">testCreateTableWithRegions</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -438,7 +442,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyRoundRobinDistribution</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.344">verifyRoundRobinDistribution</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionLocation&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.345">verifyRoundRobinDistribution</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionLocation&gt;&nbsp;regions,
                                           int&nbsp;expectedRegions)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -453,7 +457,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableWithOnlyEmptyStartRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.367">testCreateTableWithOnlyEmptyStartRow</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.368">testCreateTableWithOnlyEmptyStartRow</a>()
                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -467,7 +471,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableWithEmptyRowInTheSplitKeys</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.379">testCreateTableWithEmptyRowInTheSplitKeys</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.380">testCreateTableWithEmptyRowInTheSplitKeys</a>()
                                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -481,7 +485,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.393">testDeleteTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.394">testDeleteTable</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -495,7 +499,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.402">testDeleteTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.403">testDeleteTables</a>()
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -509,7 +513,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTruncateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.421">testTruncateTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.422">testTruncateTable</a>()
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -523,7 +527,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTruncateTablePreservingSplits</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.426">testTruncateTablePreservingSplits</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.427">testTruncateTablePreservingSplits</a>()
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -537,7 +541,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTruncateTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.430">testTruncateTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.431">testTruncateTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                boolean&nbsp;preserveSplits)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -552,7 +556,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDisableAndEnableTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.461">testDisableAndEnableTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.462">testDisableAndEnableTable</a>()
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -566,7 +570,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDisableAndEnableTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.511">testDisableAndEnableTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.512">testDisableAndEnableTables</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -580,7 +584,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testEnableTableRetainAssignment</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.573">testEnableTableRetainAssignment</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.574">testEnableTableRetainAssignment</a>()
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -594,7 +598,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDisableCatalogTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.601">testDisableCatalogTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.602">testDisableCatalogTable</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -608,7 +612,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testAddColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.613">testAddColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.614">testAddColumnFamily</a>()
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -622,7 +626,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testAddSameColumnFamilyTwice</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.629">testAddSameColumnFamilyTwice</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.630">testAddSameColumnFamilyTwice</a>()
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -636,7 +640,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testModifyColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.654">testModifyColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.655">testModifyColumnFamily</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -650,7 +654,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testModifyNonExistingColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.674">testModifyNonExistingColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.675">testModifyNonExistingColumnFamily</a>()
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -664,7 +668,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.696">testDeleteColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.697">testDeleteColumnFamily</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -678,7 +682,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteSameColumnFamilyTwice</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.712">testDeleteSameColumnFamilyTwice</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.713">testDeleteSameColumnFamilyTwice</a>()
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -692,7 +696,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.735">verifyTableDescriptor</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.736">verifyTableDescriptor</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                    byte[]...&nbsp;families)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -707,7 +711,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.749">verifyTableDescriptor</a>(org.apache.hadoop.hbase.client.TableDescriptor&nbsp;htd,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.750">verifyTableDescriptor</a>(org.apache.hadoop.hbase.client.TableDescriptor&nbsp;htd,
                                    org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                    byte[]...&nbsp;families)</pre>
 </li>
@@ -718,7 +722,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testIsTableEnabledAndDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.760">testIsTableEnabledAndDisabled</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.761">testIsTableEnabledAndDisabled</a>()
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -729,10 +733,10 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <a name="testTableAvailableWithRandomSplitKeys--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>testTableAvailableWithRandomSplitKeys</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.770">testTableAvailableWithRandomSplitKeys</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.771">testTableAvailableWithRandomSplitKeys</a>()
                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -740,6 +744,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 </dl>
 </li>
 </ul>
+<a name="testCompactionTimestamps--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testCompactionTimestamps</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.780">testCompactionTimestamps</a>()
+                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncAdminBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncAdminBase.html b/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncAdminBase.html
index 0d86429..93dc05a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncAdminBase.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncAdminBase.html
@@ -108,37 +108,41 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncClusterAdminApi</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncNamespaceAdminApi</a></span></code>
 <div class="block">Class to test asynchronous namespace admin operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcedureAdminApi</a></span></code>
 <div class="block">Class to test asynchronous procedure admin operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncQuotaAdminApi</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></span></code>
 <div class="block">Class to test asynchronous region admin operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncReplicationAdminApi</a></span></code>
 <div class="block">Class to test asynchronous replication admin operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSnapshotAdminApi</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableAdminApi</a></span></code>
 <div class="block">Class to test asynchronous table admin operations.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncClusterAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncClusterAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncClusterAdminApi.html
new file mode 100644
index 0000000..e17a96b
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/class-use/TestAsyncClusterAdminApi.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.client.TestAsyncClusterAdminApi (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.client.TestAsyncClusterAdminApi (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/client/class-use/TestAsyncClusterAdminApi.html" target="_top">Frames</a></li>
+<li><a href="TestAsyncClusterAdminApi.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.client.TestAsyncClusterAdminApi" class="title">Uses of Class<br>org.apache.hadoop.hbase.client.TestAsyncClusterAdminApi</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.client.TestAsyncClusterAdminApi</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/client/class-use/TestAsyncClusterAdminApi.html" target="_top">Frames</a></li>
+<li><a href="TestAsyncClusterAdminApi.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
index d82aaa9..f3c644b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
@@ -37,6 +37,7 @@
 <li><a href="TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor</a></li>
 <li><a href="TestAsyncAggregationClient.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncAggregationClient</a></li>
 <li><a href="TestAsyncBalancerAdminApi.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncBalancerAdminApi</a></li>
+<li><a href="TestAsyncClusterAdminApi.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncClusterAdminApi</a></li>
 <li><a href="TestAsyncNamespaceAdminApi.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncNamespaceAdminApi</a></li>
 <li><a href="TestAsyncNonMetaRegionLocator.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncNonMetaRegionLocator</a></li>
 <li><a href="TestAsyncNonMetaRegionLocatorConcurrenyLimit.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestAsyncNonMetaRegionLocatorConcurrenyLimit</a></li>


[34/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index a2a3834..369cb85 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -2948,29 +2948,47 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getCompactionState-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -2985,6 +3003,16 @@ service.</div>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncProcess.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.html#getLogger-org.apache.hadoop.hbase.TableName-long-">getLogger</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
          long&nbsp;max)</code>&nbsp;</td>
@@ -3202,35 +3230,49 @@ service.</div>
 <td class="colLast"><span class="typeNameLabel">MetaCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#getTableLocations-org.apache.hadoop.hbase.TableName-">getTableLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the regions of a given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private byte[][]</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableSplits-org.apache.hadoop.hbase.TableName-">getTableSplits</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTableState-org.apache.hadoop.hbase.TableName-">getTableState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#getTableState-org.apache.hadoop.hbase.TableName-">getTableState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Retrieve TableState, represent current table state.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#internalRestoreSnapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">internalRestoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#internalRestoreSnapshotAsync-java.lang.String-org.apache.hadoop.hbase.TableName-boolean-">internalRestoreSnapshotAsync</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -3238,40 +3280,40 @@ service.</div>
 <div class="block">Execute Restore/Clone snapshot and wait for the server to complete (blocking).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#isRegionCached-org.apache.hadoop.hbase.TableName-byte:A-">isRegionCached</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;row)</code>
 <div class="block">Check the region cache to see whether a region is cached yet or not.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -3279,7 +3321,7 @@ service.</div>
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -3287,12 +3329,12 @@ service.</div>
  splitkeys which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -3300,98 +3342,98 @@ service.</div>
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionUtils.MasterlessConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionUtils.MasterlessConnection.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">A table that isTableEnabled == false and isTableDisabled == false
  is possible.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncNonMetaRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#locateInCache-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.TableCache-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.RegionLocateType-">locateInCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.TableCache.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.TableCache</a>&nbsp;tableCache,
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              byte[]&nbsp;row,
              <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a>&nbsp;locateType)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncNonMetaRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#locateInMeta-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.LocateRequest-">locateInMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.LocateRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.LocateRequest</a>&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateMeta-org.apache.hadoop.hbase.TableName-boolean-int-">locateMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
           boolean&nbsp;useCache,
           int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegion-org.apache.hadoop.hbase.TableName-byte:A-">locateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegion-org.apache.hadoop.hbase.TableName-byte:A-">locateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;row)</code>
@@ -3399,21 +3441,21 @@ service.</div>
  lives in.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegion-org.apache.hadoop.hbase.TableName-byte:A-boolean-boolean-">locateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;row,
             boolean&nbsp;useCache,
             boolean&nbsp;retry)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegion-org.apache.hadoop.hbase.TableName-byte:A-boolean-boolean-">locateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;row,
             boolean&nbsp;useCache,
             boolean&nbsp;retry)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegion-org.apache.hadoop.hbase.TableName-byte:A-boolean-boolean-int-">locateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;row,
@@ -3421,7 +3463,7 @@ service.</div>
             boolean&nbsp;retry,
             int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegion-org.apache.hadoop.hbase.TableName-byte:A-boolean-boolean-int-">locateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;row,
@@ -3429,7 +3471,7 @@ service.</div>
             boolean&nbsp;retry,
             int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegionInMeta-org.apache.hadoop.hbase.TableName-byte:A-boolean-boolean-int-">locateRegionInMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   byte[]&nbsp;row,
@@ -3437,23 +3479,23 @@ service.</div>
                   boolean&nbsp;retry,
                   int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegions-org.apache.hadoop.hbase.TableName-">locateRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegions-org.apache.hadoop.hbase.TableName-">locateRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Gets the locations of all regions in the specified table, <i>tableName</i>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegions-org.apache.hadoop.hbase.TableName-boolean-boolean-">locateRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;useCache,
              boolean&nbsp;offlined)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegions-org.apache.hadoop.hbase.TableName-boolean-boolean-">locateRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;useCache,
@@ -3461,49 +3503,49 @@ service.</div>
 <div class="block">Gets the locations of all regions in the specified table, <i>tableName</i>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncNonMetaRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#locateRowBeforeInCache-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.TableCache-org.apache.hadoop.hbase.TableName-byte:A-">locateRowBeforeInCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.TableCache.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.TableCache</a>&nbsp;tableCache,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncNonMetaRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#locateRowInCache-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.TableCache-org.apache.hadoop.hbase.TableName-byte:A-">locateRowInCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.TableCache.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.TableCache</a>&nbsp;tableCache,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnFamily,
@@ -3511,7 +3553,7 @@ service.</div>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnFamily,
@@ -3519,38 +3561,38 @@ service.</div>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
@@ -3562,7 +3604,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
@@ -3572,113 +3614,113 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamilyAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamilyAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                        <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyColumnFamilyAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamilyAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                        <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)</code>
 <div class="block">Modify an existing table, more IRB friendly version.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)</code>
 <div class="block">Modify an existing table, more IRB friendly version.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyTableAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#needToReplicate-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.replication.ReplicationPeerDescription-">needToReplicate</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;peer)</code>
 <div class="block">Decide whether the table need replicate to the peer cluster according to the peer config</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TableDescriptorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#newBuilder-org.apache.hadoop.hbase.TableName-">newBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncNonMetaRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#onScanComplete-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.LocateRequest-java.util.List-java.lang.Throwable-">onScanComplete</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               <a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.LocateRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.LocateRequest</a>&nbsp;req,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;results,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.TableOperator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableOperator.html#operate-org.apache.hadoop.hbase.TableName-">operate</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TableState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html#parseFrom-org.apache.hadoop.hbase.TableName-byte:A-">parseFrom</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
          byte[]&nbsp;bytes)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-java.util.List-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">The puts request will be buffered by their corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
    <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Put-int-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
    <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -3686,12 +3728,12 @@ service.</div>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#relocateRegion-org.apache.hadoop.hbase.TableName-byte:A-">relocateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#relocateRegion-org.apache.hadoop.hbase.TableName-byte:A-">relocateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;row)</code>
@@ -3699,13 +3741,13 @@ service.</div>
  lives in, ignoring any value that might be in the cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#relocateRegion-org.apache.hadoop.hbase.TableName-byte:A-int-">relocateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;row,
               int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClusterConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#relocateRegion-org.apache.hadoop.hbase.TableName-byte:A-int-">relocateRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;row,
@@ -3714,59 +3756,59 @@ service.</div>
  lives in, ignoring any value that might be in the cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RawAsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#restoreSnapshot-java.lang.String-org.apache.hadoop.hbase.TableName-boolean-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                boolean&nbsp;takeFailSafeSnapshot)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCallable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/MasterCallable.html#setPriority-org.apache.hadoop.hbase.TableName-">setPriority</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.Builder.html" title="class in org.apache.hadoop.hbase.client">AsyncProcessTask.Builder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.Builder.html" title="type parameter in AsyncProcessTask.Builder">T</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncProcessTask.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.Builder.html#setTableName-org.apache.hadoop.hbase.TableName-">setTableName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#setTableRep-org.apache.hadoop.hbase.TableName-boolean-">setTableRep</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            boolean&nbsp;enableRep)</code>
 <div class="block">Set the table's replication switch if the table's replication switch is already not set.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-byte:A-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(byte[]&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Create a timestamp consistent snapshot for the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#snapshot-byte:A-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(byte[]&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or int

<TRUNCATED>

[17/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-

<TRUNCATED>

[06/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>  @Override<a name="line.597"></a>
-<span class="sourceLineNo

<TRUNCATED>

[08/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
index 9a6c30b..af6a1dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</spa

<TRUNCATED>

[31/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
index d1eae05..7816844 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.47">AsyncHBaseAdmin</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.49">AsyncHBaseAdmin</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></pre>
 <div class="block">The implementation of AsyncAdmin.</div>
@@ -386,42 +386,89 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 </td>
 </tr>
 <tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the current compaction state of region.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed region.</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getNamespaceDescriptor-java.lang.String-">getNamespaceDescriptor</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get a namespace descriptor by name</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Get all the online regions on a region server.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getQuota-org.apache.hadoop.hbase.quotas.QuotaFilter-">getQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>
 <div class="block">List the quotas based on the filter.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">getTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Method for getting the tableDescriptor</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i42" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Query the current state of the balancer.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i44" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode</a></span>()</code>
+<div class="block">Check whether master is in maintenance mode</div>
+</td>
+</tr>
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isProcedureFinished-java.lang.String-java.lang.String-java.util.Map-">isProcedureFinished</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;signature,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instance,
@@ -429,13 +476,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <div class="block">Check the current state of the specified procedure.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isSnapshotFinished-org.apache.hadoop.hbase.client.SnapshotDescription-">isSnapshotFinished</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Check the current state of the passed snapshot.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -443,59 +490,59 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listNamespaceDescriptors--">listNamespaceDescriptors</a></span>()</code>
 <div class="block">List available namespace descriptors</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listProcedures--">listProcedures</a></span>()</code>
 <div class="block">List procedures</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listReplicatedTableCFs--">listReplicatedTableCFs</a></span>()</code>
 <div class="block">Find all table and column families that are replicated from this cluster</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listReplicationPeers-java.util.Optional-">listReplicationPeers</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listSnapshots-java.util.Optional-">listSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">List all the completed snapshots matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTableNames-java.util.Optional-boolean-">listTableNames</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
               boolean&nbsp;includeSysTables)</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTables-java.util.Optional-boolean-">listTables</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
           boolean&nbsp;includeSysTables)</code>
 <div class="block">List all the tables matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-">listTableSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;tableNamePattern,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;snapshotNamePattern)</code>
@@ -503,27 +550,27 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
  name regular expression.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegion-byte:A-java.util.Optional-">majorCompactRegion</a></span>(byte[]&nbsp;regionName,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within region.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegionServer-org.apache.hadoop.hbase.ServerName-">majorCompactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Compact all regions on the region server.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#mergeRegions-byte:A-byte:A-boolean-">mergeRegions</a></span>(byte[]&nbsp;nameOfRegionA,
             byte[]&nbsp;nameOfRegionB,
@@ -531,122 +578,122 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <div class="block">Merge two regions.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
 <div class="block">Modify an existing namespace.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#move-byte:A-java.util.Optional-">move</a></span>(byte[]&nbsp;regionName,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;destServerName)</code>
 <div class="block">Move the region <code>r</code> to <code>dest</code>.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#offline-byte:A-">offline</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Remove a peer and stop the replication</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</code>
 <div class="block">Remove some table-cfs from config of the specified peer</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#restoreSnapshot-java.lang.String-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#restoreSnapshot-java.lang.String-boolean-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#setBalancerOn-boolean-">setBalancerOn</a></span>(boolean&nbsp;on)</code>
 <div class="block">Turn the load balancer on or off.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#setQuota-org.apache.hadoop.hbase.quotas.QuotaSettings-">setQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)</code>
 <div class="block">Apply the new quota settings.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#snapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#splitRegion-byte:A-java.util.Optional-">splitRegion</a></span>(byte[]&nbsp;regionName,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;splitPoint)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#unassign-byte:A-boolean-">unassign</a></span>(byte[]&nbsp;regionName,
         boolean&nbsp;forcible)</code>
 <div class="block">Unassign a region from current hosting regionserver.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>private &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#wrap-java.util.concurrent.CompletableFuture-">wrap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&nbsp;future)</code>&nbsp;</td>
 </tr>
@@ -663,7 +710,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#balance--">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-">compactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteSnapshots-java.util.regex.Pattern-">deleteSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers--">listReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots--">listSnapshots</a>
 , <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables--">listTables</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#balance--">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-">compactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteSnapshots-java.util.regex.Pattern-">deleteSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a>, <a href="../../..
 /../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers--">listReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots--">listSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables--">listTables</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/client/A
 syncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></code></li>
 </ul>
 </li>
 </ul>
@@ -685,7 +732,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.49">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.51">LOG</a></pre>
 </li>
 </ul>
 <a name="rawAdmin">
@@ -694,7 +741,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>rawAdmin</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.51">rawAdmin</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.53">rawAdmin</a></pre>
 </li>
 </ul>
 <a name="pool">
@@ -703,7 +750,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>pool</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.53">pool</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.55">pool</a></pre>
 </li>
 </ul>
 </li>
@@ -720,7 +767,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncHBaseAdmin</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.55">AsyncHBaseAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a>&nbsp;rawAdmin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.57">AsyncHBaseAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a>&nbsp;rawAdmin,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
 </li>
 </ul>
@@ -738,7 +785,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>wrap</h4>
-<pre>private&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.60">wrap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&nbsp;future)</pre>
+<pre>private&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.62">wrap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&nbsp;future)</pre>
 </li>
 </ul>
 <a name="tableExists-org.apache.hadoop.hbase.TableName-">
@@ -747,7 +794,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>tableExists</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.73">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.75">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></code></dd>
@@ -765,7 +812,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>listTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.78">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.80">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
                                                            boolean&nbsp;includeSysTables)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-">AsyncAdmin</a></code></span></div>
 <div class="block">List all the tables matching the given pattern.</div>
@@ -786,7 +833,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.84">listTableNames</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.86">listTableNames</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
                                                          boolean&nbsp;includeSysTables)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.Optional-boolean-">AsyncAdmin</a></code></span></div>
 <div class="block">List all of the names of userspace tables.</div>
@@ -807,7 +854,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.90">getTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.92">getTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">AsyncAdmin</a></code></span></div>
 <div class="block">Method for getting the tableDescriptor</div>
 <dl>
@@ -826,7 +873,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.95">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.97">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                                            byte[]&nbsp;startKey,
                                            byte[]&nbsp;endKey,
                                            int&nbsp;numRegions)</pre>
@@ -853,7 +900,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.101">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.103">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[][]&gt;&nbsp;splitKeys)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-java.util.Optional-">AsyncAdmin</a></code></span></div>
 <div class="block">Creates a new table with an initial set of empty regions defined by the specified split keys.
@@ -874,7 +921,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.106">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.108">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTable-org.apache.hadoop.hbase.TableName-">AsyncAdmin</a></code></span></div>
 <div class="block">Deletes a table.</div>
 <dl>
@@ -891,7 +938,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.111">deleteTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.113">deleteTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTables-java.util.regex.Pattern-">AsyncAdmin</a></code></span></div>
 <div class="block">Delete tables matching the passed in pattern and wait on completion. Warning: Use this method
  carefully, there is no prompting and the effect is immediate. Consider using
@@ -914,7 +961,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.116">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.118">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                              boolean&nbsp;preserveSplits)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">AsyncAdmin</a></code></span></div>
 <div class="block">Truncate a table.</div>
@@ -933,7 +980,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTable</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.121">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.123">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-">AsyncAdmin</a></code></span></div>
 <div class="block">Enable a table. The table has to be in disabled state for it to be enabled.</div>
 <dl>
@@ -950,7 +997,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.126">enableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.128">enableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTables-java.util.regex.Pattern-">AsyncAdmin</a></code></span></div>
 <div class="block">Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no
  prompting and the effect is immediate. Consider using <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-"><code>AsyncAdmin.listTables(Optional, boolean)</code></a> and
@@ -972,7 +1019,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTable</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.131">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.133">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-">AsyncAdmin</a></code></span></div>
 <div class="block">Disable a table. The table has to be in enabled state for it to be disabled.</div>
 <dl>
@@ -987,7 +1034,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.136">disableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.138">disableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTables-java.util.regex.Pattern-">AsyncAdmin</a></code></span></div>
 <div class="block">Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no
  prompting and the effect is immediate. Consider using <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-"><code>AsyncAdmin.listTables(Optional, boolean)</code></a> and
@@ -1009,7 +1056,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableEnabled</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.141">isTableEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.143">isTableEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></code></dd>
@@ -1027,7 +1074,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableDisabled</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.146">isTableDisabled</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.148">isTableDisabled</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></code></dd>
@@ -1045,7 +1092,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
 <ul class="blockList">
 <l

<TRUNCATED>

[02/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html
new file mode 100644
index 0000000..d573b1f
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertEquals;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertTrue;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Collection;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.List;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Map;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.Optional;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.ServerName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.TableName;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.MiscTests;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.Test;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.experimental.categories.Category;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.junit.runner.RunWith;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.runners.Parameterized;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>import com.google.common.collect.Lists;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import com.google.common.collect.Maps;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>@RunWith(Parameterized.class)<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Category({ MiscTests.class, MediumTests.class })<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class TestAsyncClusterAdminApi extends TestAsyncAdminBase {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  @Test<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public void testRegionLoad() throws Exception {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    // Turn off the balancer<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    admin.setBalancerOn(false).join();<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    TableName[] tables =<a name="line.55"></a>
+<span class="sourceLineNo">056</span>        new TableName[] { TableName.valueOf(tableName.getNameAsString() + "1"),<a name="line.56"></a>
+<span class="sourceLineNo">057</span>            TableName.valueOf(tableName.getNameAsString() + "2"),<a name="line.57"></a>
+<span class="sourceLineNo">058</span>            TableName.valueOf(tableName.getNameAsString() + "3") };<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    createAndLoadTable(tables);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    // Check if regions match with the regionLoad from the server<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    Collection&lt;ServerName&gt; servers = admin.getRegionServers().get();<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    for (ServerName serverName : servers) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      List&lt;HRegionInfo&gt; regions = admin.getOnlineRegions(serverName).get();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      checkRegionsAndRegionLoads(regions, admin.getRegionLoads(serverName).get());<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    }<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>    // Check if regionLoad matches the table's regions and nothing is missed<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    for (TableName table : tables) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      List&lt;HRegionInfo&gt; tableRegions = admin.getTableRegions(table).get();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      List&lt;RegionLoad&gt; regionLoads = Lists.newArrayList();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      for (ServerName serverName : servers) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        regionLoads.addAll(admin.getRegionLoads(serverName, Optional.of(table)).get());<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      checkRegionsAndRegionLoads(tableRegions, regionLoads);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>    // Check RegionLoad matches the regionLoad from ClusterStatus<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    ClusterStatus clusterStatus = admin.getClusterStatus().get();<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    for (ServerName serverName : clusterStatus.getServers()) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      ServerLoad serverLoad = clusterStatus.getLoad(serverName);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      compareRegionLoads(serverLoad.getRegionsLoad().values(), admin.getRegionLoads(serverName)<a name="line.81"></a>
+<span class="sourceLineNo">082</span>          .get());<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private void compareRegionLoads(Collection&lt;RegionLoad&gt; regionLoadCluster,<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      Collection&lt;RegionLoad&gt; regionLoads) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>    assertEquals("No of regionLoads from clusterStatus and regionloads from RS doesn't match",<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      regionLoadCluster.size(), regionLoads.size());<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    for (RegionLoad loadCluster : regionLoadCluster) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      boolean matched = false;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      for (RegionLoad load : regionLoads) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        if (Bytes.equals(loadCluster.getName(), load.getName())) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          matched = true;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>          continue;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>        }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      assertTrue("The contents of region load from cluster and server should match", matched);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private void checkRegionsAndRegionLoads(Collection&lt;HRegionInfo&gt; regions,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      Collection&lt;RegionLoad&gt; regionLoads) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    assertEquals("No of regions and regionloads doesn't match", regions.size(), regionLoads.size());<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>    Map&lt;byte[], RegionLoad&gt; regionLoadMap = Maps.newTreeMap(Bytes.BYTES_COMPARATOR);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    for (RegionLoad regionLoad : regionLoads) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      regionLoadMap.put(regionLoad.getName(), regionLoad);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    for (HRegionInfo info : regions) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      assertTrue("Region not in regionLoadMap region:" + info.getRegionNameAsString()<a name="line.114"></a>
+<span class="sourceLineNo">115</span>          + " regionMap: " + regionLoadMap, regionLoadMap.containsKey(info.getRegionName()));<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  private void createAndLoadTable(TableName[] tables) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    for (TableName table : tables) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(table);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      builder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(FAMILY).build());<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      admin.createTable(builder.build(), Bytes.toBytes("aaaaa"), Bytes.toBytes("zzzzz"), 16).join();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      RawAsyncTable asyncTable = ASYNC_CONN.getRawTable(table);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      List&lt;Put&gt; puts = new ArrayList&lt;&gt;();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      for (byte[] row : HBaseTestingUtility.ROWS) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        puts.add(new Put(row).addColumn(FAMILY, Bytes.toBytes("q"), Bytes.toBytes("v")));<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      }<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      asyncTable.putAll(puts).join();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
+<span class="sourceLineNo">132</span>}<a name="line.132"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
index c7d9017..683fc66 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
@@ -523,10 +523,10 @@
 <span class="sourceLineNo">515</span>    long curt = System.currentTimeMillis();<a name="line.515"></a>
 <span class="sourceLineNo">516</span>    long waitTime = 5000;<a name="line.516"></a>
 <span class="sourceLineNo">517</span>    long endt = curt + waitTime;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    CompactionState state = TEST_UTIL.getAdmin().getCompactionState(tableName);<a name="line.518"></a>
+<span class="sourceLineNo">518</span>    CompactionState state = admin.getCompactionState(tableName).get();<a name="line.518"></a>
 <span class="sourceLineNo">519</span>    while (state == CompactionState.NONE &amp;&amp; curt &lt; endt) {<a name="line.519"></a>
 <span class="sourceLineNo">520</span>      Thread.sleep(10);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      state = TEST_UTIL.getAdmin().getCompactionState(tableName);<a name="line.521"></a>
+<span class="sourceLineNo">521</span>      state = admin.getCompactionState(tableName).get();<a name="line.521"></a>
 <span class="sourceLineNo">522</span>      curt = System.currentTimeMillis();<a name="line.522"></a>
 <span class="sourceLineNo">523</span>    }<a name="line.523"></a>
 <span class="sourceLineNo">524</span>    // Now, should have the right compaction state,<a name="line.524"></a>
@@ -538,10 +538,10 @@
 <span class="sourceLineNo">530</span>      }<a name="line.530"></a>
 <span class="sourceLineNo">531</span>    } else {<a name="line.531"></a>
 <span class="sourceLineNo">532</span>      // Wait until the compaction is done<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      state = TEST_UTIL.getAdmin().getCompactionState(tableName);<a name="line.533"></a>
+<span class="sourceLineNo">533</span>      state = admin.getCompactionState(tableName).get();<a name="line.533"></a>
 <span class="sourceLineNo">534</span>      while (state != CompactionState.NONE &amp;&amp; curt &lt; endt) {<a name="line.534"></a>
 <span class="sourceLineNo">535</span>        Thread.sleep(10);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>        state = TEST_UTIL.getAdmin().getCompactionState(tableName);<a name="line.536"></a>
+<span class="sourceLineNo">536</span>        state = admin.getCompactionState(tableName).get();<a name="line.536"></a>
 <span class="sourceLineNo">537</span>      }<a name="line.537"></a>
 <span class="sourceLineNo">538</span>      // Now, compaction should be done.<a name="line.538"></a>
 <span class="sourceLineNo">539</span>      assertEquals(CompactionState.NONE, state);<a name="line.539"></a>


[27/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
index 36768a6..8abc3e6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -25,786 +25,881 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.List;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.Collection;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Map;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Optional;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.CompletableFuture;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.regex.Pattern;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.ServerName;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * The asynchronous administrative API for HBase.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * This feature is still under development, so marked as IA.Private. Will change to public when<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * done. Use it with caution.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@InterfaceAudience.Public<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public interface AsyncAdmin {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   * @param tableName Table to check.<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * @return True if table exists already. The return value will be wrapped by a<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   *         {@link CompletableFuture}.<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName);<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * List all the userspace tables.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * @see #listTables(Optional, boolean)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  default CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return listTables(Optional.empty(), false);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * List all the tables matching the given pattern.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param pattern The compiled regular expression to match against<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @param includeSysTables False to match only against userspace tables<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      boolean includeSysTables);<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * List all of the names of userspace tables.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * @see #listTableNames(Optional, boolean)<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  default CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames() {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    return listTableNames(Optional.empty(), false);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * List all of the names of userspace tables.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param pattern The regular expression to match against<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param includeSysTables False to match only against userspace tables<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      boolean includeSysTables);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /**<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * Method for getting the tableDescriptor<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param tableName as a {@link TableName}<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @return the read-only tableDescriptor wrapped by a {@link CompletableFuture}.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName);<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /**<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * Creates a new table.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @param desc table descriptor for table<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  default CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    return createTable(desc, Optional.empty());<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Creates a new table with the specified number of regions. The start key specified will become<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * the end key of the first region of the table, and the end key specified will become the start<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * key of the last region of the table (the first region has a null start key and the last region<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * has a null end key). BigInteger math will be used to divide the key range specified into enough<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * segments to make the required number of total regions.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @param desc table descriptor for table<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @param startKey beginning of key range<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * @param endKey end of key range<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @param numRegions the total number of regions to create<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      int numRegions);<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * Creates a new table with an initial set of empty regions defined by the specified split keys.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * The total number of regions created will be the number of split keys plus one.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * Note : Avoid passing empty split key.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param desc table descriptor for table<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @param splitKeys array of split keys for the initial regions of the table<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  /**<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * Deletes a table.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @param tableName name of table to delete<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  CompletableFuture&lt;Void&gt; deleteTable(TableName tableName);<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Delete tables matching the passed in pattern and wait on completion. Warning: Use this method<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * carefully, there is no prompting and the effect is immediate. Consider using<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * {@link #listTableNames(Optional, boolean) } and<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * {@link #deleteTable(org.apache.hadoop.hbase.TableName)}<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * @param pattern The pattern to match table names against<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @return Table descriptors for tables that couldn't be deleted. The return value will be wrapped<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern);<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * Truncate a table.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @param tableName name of table to truncate<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @param preserveSplits True if the splits should be preserved<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits);<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * Enable a table. The table has to be in disabled state for it to be enabled.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @param tableName name of the table<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  CompletableFuture&lt;Void&gt; enableTable(TableName tableName);<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * {@link #enableTable(TableName)}<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param pattern The pattern to match table names against<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * @return Table descriptors for tables that couldn't be enabled. The return value will be wrapped<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern);<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  /**<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * Disable a table. The table has to be in enabled state for it to be disabled.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param tableName<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  CompletableFuture&lt;Void&gt; disableTable(TableName tableName);<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * {@link #disableTable(TableName)}<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param pattern The pattern to match table names against<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @return Table descriptors for tables that couldn't be disabled. The return value will be wrapped by a<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   *         {@link CompletableFuture}. The return HTDs are read-only.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @param tableName name of table to check<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @return true if table is on-line. The return value will be wrapped by a<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   *         {@link CompletableFuture}.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName);<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @param tableName name of table to check<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @return true if table is off-line. The return value will be wrapped by a<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   *         {@link CompletableFuture}.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * @param tableName name of table to check<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * @return true if all regions of the table are available. The return value will be wrapped by a<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   *         {@link CompletableFuture}.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  default CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    return isTableAvailable(tableName, null);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /**<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * Use this api to check if the table has been created with the specified number of splitkeys<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * which was used while creating the given table. Note : If this api is used after a table's<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * region gets splitted, the api may return false. The return value will be wrapped by a<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * {@link CompletableFuture}.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @param tableName name of table to check<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param splitKeys keys to check if the table has been created with all split keys<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys);<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>  /**<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   * Get the status of alter command - indicates how many regions have received the updated schema<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Asynchronous operation.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @param tableName TableName instance<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * @return Pair indicating the number of regions updated Pair.getFirst() is the regions that are<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *         yet to be updated Pair.getSecond() is the total number of regions of the table. The<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Add a column family to an existing table.<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param tableName name of the table to add column family to<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * @param columnFamily column family descriptor of column family to be added<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName,<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      ColumnFamilyDescriptor columnFamily);<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Delete a column family from a table.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param tableName name of table<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @param columnFamily name of column family to be deleted<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  CompletableFuture&lt;Void&gt; deleteColumnFamily(TableName tableName, byte[] columnFamily);<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  /**<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * Modify an existing column family on a table.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * @param tableName name of table<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param columnFamily new column family descriptor to use<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  CompletableFuture&lt;Void&gt; modifyColumnFamily(TableName tableName,<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      ColumnFamilyDescriptor columnFamily);<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>  /**<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * Create a new namespace.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param descriptor descriptor which describes the new namespace<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   */<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  CompletableFuture&lt;Void&gt; createNamespace(NamespaceDescriptor descriptor);<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Modify an existing namespace.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @param descriptor descriptor which describes the new namespace<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  CompletableFuture&lt;Void&gt; modifyNamespace(NamespaceDescriptor descriptor);<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * @param name namespace name<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  CompletableFuture&lt;Void&gt; deleteNamespace(String name);<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * Get a namespace descriptor by name<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * @param name name of namespace descriptor<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * @return A descriptor wrapped by a {@link CompletableFuture}.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  CompletableFuture&lt;NamespaceDescriptor&gt; getNamespaceDescriptor(String name);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  /**<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * List available namespace descriptors<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @return List of descriptors wrapped by a {@link CompletableFuture}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  CompletableFuture&lt;List&lt;NamespaceDescriptor&gt;&gt; listNamespaceDescriptors();<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * Turn the load balancer on or off.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @param on<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  CompletableFuture&lt;Boolean&gt; setBalancerOn(boolean on);<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * reassignments. Can NOT run for various reasons. Check logs.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   *         {@link CompletableFuture}.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  default CompletableFuture&lt;Boolean&gt; balance() {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return balance(false);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  /**<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * reassignments. If there is region in transition, force parameter of true would still run<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * balancer. Can *not* run for other reasons. Check logs.<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @param forcible whether we should force balance even if there is region in transition.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   *         {@link CompletableFuture}.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   */<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  CompletableFuture&lt;Boolean&gt; balance(boolean forcible);<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Query the current state of the balancer.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @return true if the balance switch is on, false otherwise The return value will be wrapped by a<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   *         {@link CompletableFuture}.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   */<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  CompletableFuture&lt;Boolean&gt; isBalancerOn();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Close a region. For expert-admins Runs close on the regionserver. The master will not be<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * informed of the close.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @param regionName region name to close<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param serverName The servername of the regionserver. If not present, we will use servername<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   *          found in the hbase:meta table. A server name is made of host, port and startcode. Here<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   *          is an example: &lt;code&gt; host187.example.com,60020,1289493121758&lt;/code&gt;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @return true if the region was closed, false if not. The return value will be wrapped by a<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   *         {@link CompletableFuture}.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  CompletableFuture&lt;Boolean&gt; closeRegion(byte[] regionName, Optional&lt;ServerName&gt; serverName);<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * Get all the online regions on a region server.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getOnlineRegions(ServerName serverName);<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * Flush a table.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param tableName table to flush<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  CompletableFuture&lt;Void&gt; flush(TableName tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * Flush an individual region.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param regionName region to flush<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  CompletableFuture&lt;Void&gt; flushRegion(byte[] regionName);<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>  /**<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * Compact a table. When the returned CompletableFuture is done, it only means the compact request<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * was sent to HBase and may need some time to finish the compact operation.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @param tableName table to compact<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  default CompletableFuture&lt;Void&gt; compact(TableName tableName) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return compact(tableName, Optional.empty());<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Compact a column family within a table. When the returned CompletableFuture is done, it only<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * operation.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param tableName table to compact<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param columnFamily column family within a table. If not present, compact the table's all<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *          column families.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   */<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  CompletableFuture&lt;Void&gt; compact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>  /**<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * Compact an individual region. When the returned CompletableFuture is done, it only means the<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * compact request was sent to HBase and may need some time to finish the compact operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param regionName region to compact<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  default CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    return compactRegion(regionName, Optional.empty());<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>  /**<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * Compact a column family within a region. When the returned CompletableFuture is done, it only<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * operation.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param regionName region to compact<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param columnFamily column family within a region. If not present, compact the region's all<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   *          column families.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Major compact a table. When the returned CompletableFuture is done, it only means the compact<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @param tableName table to major compact<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  default CompletableFuture&lt;Void&gt; majorCompact(TableName tableName) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    return majorCompact(tableName, Optional.empty());<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Major compact a column family within a table. When the returned CompletableFuture is done, it<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * operation.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * @param tableName table to major compact<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param columnFamily column family within a table. If not present, major compact the table's all<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   *          column families.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   */<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  CompletableFuture&lt;Void&gt; majorCompact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * Major compact a region. When the returned CompletableFuture is done, it only means the compact<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param regionName region to major compact<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   */<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  default CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    return majorCompactRegion(regionName, Optional.empty());<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  /**<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * Major compact a column family within region. When the returned CompletableFuture is done, it<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * operation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param regionName region to major compact<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param columnFamily column family within a region. If not present, major compact the region's<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *          all column families.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Compact all regions on the region server.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param serverName the region server name<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  CompletableFuture&lt;Void&gt; compactRegionServer(ServerName serverName);<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>  /**<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * Compact all regions on the region server.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param serverName the region server name<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  CompletableFuture&lt;Void&gt; majorCompactRegionServer(ServerName serverName);<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>  /**<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * Merge two regions.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param nameOfRegionA encoded or full name of region a<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @param nameOfRegionB encoded or full name of region b<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param forcible true if do a compulsory merge, otherwise we will only merge two adjacent<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   *          regions<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  CompletableFuture&lt;Void&gt; mergeRegions(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      boolean forcible);<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * Split a table. The method will execute split action for each region in table.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @param tableName table to split<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  CompletableFuture&lt;Void&gt; split(TableName tableName);<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>  /**<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * Split an individual region.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @param regionName region to split<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  default CompletableFuture&lt;Void&gt; splitRegion(byte[] regionName) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return splitRegion(regionName, Optional.empty());<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.Collection;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Map;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Optional;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.concurrent.CompletableFuture;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.regex.Pattern;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.ServerName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.TableName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * The asynchronous administrative API for HBase.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * This feature is still under development, so marked as IA.Private. Will change to public when<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * done. Use it with caution.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public interface AsyncAdmin {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * @param tableName Table to check.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @return True if table exists already. The return value will be wrapped by a<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   *         {@link CompletableFuture}.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName);<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * List all the userspace tables.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @see #listTables(Optional, boolean)<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  default CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    return listTables(Optional.empty(), false);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * List all the tables matching the given pattern.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * @param pattern The compiled regular expression to match against<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * @param includeSysTables False to match only against userspace tables<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * @return - returns a list of TableDescriptors wrapped by a {@link CompletableFuture}.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      boolean includeSysTables);<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * List all of the names of userspace tables.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @see #listTableNames(Optional, boolean)<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  default CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames() {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return listTableNames(Optional.empty(), false);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * List all of the names of userspace tables.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param pattern The regular expression to match against<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param includeSysTables False to match only against userspace tables<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @return a list of table names wrapped by a {@link CompletableFuture}.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      boolean includeSysTables);<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * Method for getting the tableDescriptor<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param tableName as a {@link TableName}<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @return the read-only tableDescriptor wrapped by a {@link CompletableFuture}.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName);<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>  /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * Creates a new table.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @param desc table descriptor for table<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  default CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return createTable(desc, Optional.empty());<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Creates a new table with the specified number of regions. The start key specified will become<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * the end key of the first region of the table, and the end key specified will become the start<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * key of the last region of the table (the first region has a null start key and the last region<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * has a null end key). BigInteger math will be used to divide the key range specified into enough<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * segments to make the required number of total regions.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * @param desc table descriptor for table<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @param startKey beginning of key range<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @param endKey end of key range<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * @param numRegions the total number of regions to create<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      int numRegions);<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * Creates a new table with an initial set of empty regions defined by the specified split keys.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * The total number of regions created will be the number of split keys plus one.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * Note : Avoid passing empty split key.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @param desc table descriptor for table<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @param splitKeys array of split keys for the initial regions of the table<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  /**<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * Deletes a table.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param tableName name of table to delete<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  CompletableFuture&lt;Void&gt; deleteTable(TableName tableName);<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * Delete tables matching the passed in pattern and wait on completion. Warning: Use this method<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * carefully, there is no prompting and the effect is immediate. Consider using<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * {@link #listTableNames(Optional, boolean) } and<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * {@link #deleteTable(org.apache.hadoop.hbase.TableName)}<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @param pattern The pattern to match table names against<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * @return Table descriptors for tables that couldn't be deleted. The return value will be wrapped<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern);<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * Truncate a table.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * @param tableName name of table to truncate<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * @param preserveSplits True if the splits should be preserved<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits);<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * Enable a table. The table has to be in disabled state for it to be enabled.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @param tableName name of the table<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  CompletableFuture&lt;Void&gt; enableTable(TableName tableName);<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * {@link #enableTable(TableName)}<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   * @param pattern The pattern to match table names against<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * @return Table descriptors for tables that couldn't be enabled. The return value will be wrapped<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   *         by a {@link CompletableFuture}. The return HTDs are read-only.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern);<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * Disable a table. The table has to be in enabled state for it to be disabled.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * @param tableName<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  CompletableFuture&lt;Void&gt; disableTable(TableName tableName);<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * prompting and the effect is immediate. Consider using {@link #listTables(Optional, boolean)} and<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * {@link #disableTable(TableName)}<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @param pattern The pattern to match table names against<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @return Table descriptors for tables that couldn't be disabled. The return value will be wrapped by a<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   *         {@link CompletableFuture}. The return HTDs are read-only.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern);<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @param tableName name of table to check<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @return true if table is on-line. The return value will be wrapped by a<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   *         {@link CompletableFuture}.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName);<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  /**<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @param tableName name of table to check<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @return true if table is off-line. The return value will be wrapped by a<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   *         {@link CompletableFuture}.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param tableName name of table to check<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @return true if all regions of the table are available. The return value will be wrapped by a<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *         {@link CompletableFuture}.<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   */<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  default CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    return isTableAvailable(tableName, null);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  /**<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * Use this api to check if the table has been created with the specified number of splitkeys<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * which was used while creating the given table. Note : If this api is used after a table's<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * region gets splitted, the api may return false. The return value will be wrapped by a<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * {@link CompletableFuture}.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @param tableName name of table to check<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * @param splitKeys keys to check if the table has been created with all split keys<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys);<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * Get the status of alter command - indicates how many regions have received the updated schema<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * Asynchronous operation.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * @param tableName TableName instance<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * @return Pair indicating the number of regions updated Pair.getFirst() is the regions that are<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   *         yet to be updated Pair.getSecond() is the total number of regions of the table. The<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName);<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * Add a column family to an existing table.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @param tableName name of the table to add column family to<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @param columnFamily column family descriptor of column family to be added<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName,<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      ColumnFamilyDescriptor columnFamily);<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Delete a column family from a table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * @param tableName name of table<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param columnFamily name of column family to be deleted<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  CompletableFuture&lt;Void&gt; deleteColumnFamily(TableName tableName, byte[] columnFamily);<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Modify an existing column family on a table.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * @param tableName name of table<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * @param columnFamily new column family descriptor to use<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  CompletableFuture&lt;Void&gt; modifyColumnFamily(TableName tableName,<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      ColumnFamilyDescriptor columnFamily);<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * Create a new namespace.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param descriptor descriptor which describes the new namespace<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  CompletableFuture&lt;Void&gt; createNamespace(NamespaceDescriptor descriptor);<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * Modify an existing namespace.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * @param descriptor descriptor which describes the new namespace<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  CompletableFuture&lt;Void&gt; modifyNamespace(NamespaceDescriptor descriptor);<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param name namespace name<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  CompletableFuture&lt;Void&gt; deleteNamespace(String name);<a name="line.271"></a>
+<span class="sourceLineNo">272</span><a name="line.272"></a>
+<span class="sourceLineNo">273</span>  /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * Get a namespace descriptor by name<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   * @param name name of namespace descriptor<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * @return A descriptor wrapped by a {@link CompletableFuture}.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   */<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  CompletableFuture&lt;NamespaceDescriptor&gt; getNamespaceDescriptor(String name);<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * List available namespace descriptors<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * @return List of descriptors wrapped by a {@link CompletableFuture}.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  CompletableFuture&lt;List&lt;NamespaceDescriptor&gt;&gt; listNamespaceDescriptors();<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * Turn the load balancer on or off.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * @param on<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  CompletableFuture&lt;Boolean&gt; setBalancerOn(boolean on);<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * reassignments. Can NOT run for various reasons. Check logs.<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   *         {@link CompletableFuture}.<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   */<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  default CompletableFuture&lt;Boolean&gt; balance() {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    return balance(false);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * reassignments. If there is region in transition, force parameter of true would still run<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * balancer. Can *not* run for other reasons. Check logs.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @param forcible whether we should force balance even if there is region in transition.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   *         {@link CompletableFuture}.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  CompletableFuture&lt;Boolean&gt; balance(boolean forcible);<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /**<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Query the current state of the balancer.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @return true if the balance switch is on, false otherwise The return value will be wrapped by a<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   *         {@link CompletableFuture}.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  CompletableFuture&lt;Boolean&gt; isBalancerOn();<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * Close a region. For expert-admins Runs close on the regionserver. The master will not be<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * informed of the close.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @param regionName region name to close<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @param serverName The servername of the regionserver. If not present, we will use servername<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   *          found in the hbase:meta table. A server name is made of host, port and startcode. Here<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   *          is an example: &lt;code&gt; host187.example.com,60020,1289493121758&lt;/code&gt;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @return true if the region was closed, false if not. The return value will be wrapped by a<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   *         {@link CompletableFuture}.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  CompletableFuture&lt;Boolean&gt; closeRegion(byte[] regionName, Optional&lt;ServerName&gt; serverName);<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * Get all the online regions on a region server.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getOnlineRegions(ServerName serverName);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /**<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * Get the regions of a given table.<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   */<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  CompletableFuture&lt;List&lt;HRegionInfo&gt;&gt; getTableRegions(TableName tableName);<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  /**<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * Flush a table.<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param tableName table to flush<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  CompletableFuture&lt;Void&gt; flush(TableName tableName);<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * Flush an individual region.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @param regionName region to flush<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  CompletableFuture&lt;Void&gt; flushRegion(byte[] regionName);<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * Compact a table. When the returned CompletableFuture is done, it only means the compact request<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * was sent to HBase and may need some time to finish the compact operation.<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * @param tableName table to compact<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  default CompletableFuture&lt;Void&gt; compact(TableName tableName) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    return compact(tableName, Optional.empty());<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  /**<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * Compact a column family within a table. When the returned CompletableFuture is done, it only<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * operation.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param tableName table to compact<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param columnFamily column family within a table. If not present, compact the table's all<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   *          column families.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   */<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  CompletableFuture&lt;Void&gt; compact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.371"></a>
+<span class="sourceLineNo">372</span><a name="line.372"></a>
+<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * Compact an individual region. When the returned CompletableFuture is done, it only means the<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * compact request was sent to HBase and may need some time to finish the compact operation.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * @param regionName region to compact<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   */<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  default CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return compactRegion(regionName, Optional.empty());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
+<span class="sourceLineNo">381</span><a name="line.381"></a>
+<span class="sourceLineNo">382</span>  /**<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * Compact a column family within a region. When the returned CompletableFuture is done, it only<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * means the compact request was sent to HBase and may need some time to finish the compact<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * operation.<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @param regionName region to compact<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * @param columnFamily column family within a region. If not present, compact the region's all<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   *          column families.<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
+<span class="sourceLineNo">390</span>  CompletableFuture&lt;Void&gt; compactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   * Major compact a table. When the returned CompletableFuture is done, it only means the compact<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * @param tableName table to major compact<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   */<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  default CompletableFuture&lt;Void&gt; majorCompact(TableName tableName) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return majorCompact(tableName, Optional.empty());<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Major compact a column family within a table. When the returned CompletableFuture is done, it<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * operation.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * @param tableName table to major compact<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * @param columnFamily column family within a table. If not present, major compact the table's all<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   *          column families.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  CompletableFuture&lt;Void&gt; majorCompact(TableName tableName, Optional&lt;byte[]&gt; columnFamily);<a name="line.409"></a>
+<span class="sourceLineNo">410</span><a name="line.410"></a>
+<span class="sourceLineNo">411</span>  /**<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * Major compact a region. When the returned CompletableFuture is done, it only means the compact<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * request was sent to HBase and may need some time to finish the compact operation.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @param regionName region to major compact<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  default CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    return majorCompactRegion(regionName, Optional.empty());<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * Major compact a column family within region. When the returned CompletableFuture is done, it<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * only means the compact request was sent to HBase and may need some time to finish the compact<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * operation.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * @param regionName region to major compact<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param columnFamily column family within a region. If not present, major compact the region's<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   *          all column families.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   */<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  CompletableFuture&lt;Void&gt; majorCompactRegion(byte[] regionName, Optional&lt;byte[]&gt; columnFamily);<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>  /**<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * Compact all regions on the region server.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @param serverName the region server name<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   */<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  CompletableFuture&lt;Void&gt; compactRegionServer(ServerName serverName);<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span>  /**<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * Compact all regions on the region server.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * @param serverName the region server name<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   */<a name="line.439"></a>
+<span class="sourceLineNo">440</span>  CompletableFuture&lt;Void&gt; majorCompactRegionServer(ServerName serverName);<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>  /**<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * Merge two regions.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param nameOfRegionA encoded or full name of region a<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param nameOfRegionB encoded or full name of region b<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @param forcible true if do a compulsory merge, otherwise we will only merge two adjacent<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   *          regions<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
+<span class="sourceLineNo">449</span>  CompletableFuture&lt;Void&gt; mergeRegions(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.449"></a>
+<span 

<TRUNCATED>

[15/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/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 9a6c30b..af6a1dd 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
@@ -54,1176 +54,1176 @@
 <span class="sourceLineNo">046</span>import org.apache.commons.io.IOUtils;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.HConstants;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>/**<a name="line.190"></a>
-<span class="sourceLineNo">191</span> * The implementation of AsyncAdmin.<a name="line.191"></a>
-<span class="sourceLineNo">192</span> */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>@InterfaceAudience.Private<a name="line.193"></a>
-<span class="sourceLineNo">194</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private final AsyncConnectionImpl connection;<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private final RawAsyncTable metaTable;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  private final long rpcTimeoutNs;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private final long operationTimeoutNs;<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private final long pauseNs;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private final int maxAttempts;<a name="line.209"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ClusterStatus;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.RegionLoad;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ServerName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.HConstants;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableName;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.*;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>/**<a name="line.204"></a>
+<span class="sourceLineNo">205</span> * The implementation of AsyncAdmin.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>@InterfaceAudience.Private<a name="line.207"></a>
+<span class="sourceLineNo">208</span>public class RawAsyncHBaseAdmin implements AsyncAdmin {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public static final String FLUSH_TABLE_PROCEDURE_SIGNATURE = "flush-table-proc";<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  private final int startLogErrorsCnt;<a name="line.211"></a>
+<span class="sourceLineNo">211</span>  private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private final NonceGenerator ng;<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  private final AsyncConnectionImpl connection;<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.connection = connection;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    this.pauseNs = builder.pauseNs;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.maxAttempts = builder.maxAttempts;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.ng = connection.getNonceGenerator();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private &lt;T&gt; AdminRequestCallerBuilder&lt;T&gt; newAdminCaller() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return this.connection.callerFactory.&lt;T&gt; adminRequest()<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @FunctionalInterface<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private interface MasterRpcCall&lt;RESP, REQ&gt; {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        RpcCallback&lt;RESP&gt; done);<a name="line.245"></a>
+<span class="sourceLineNo">215</span>  private final RawAsyncTable metaTable;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  private final long rpcTimeoutNs;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private final long operationTimeoutNs;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  private final long pauseNs;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  private final int maxAttempts;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private final int startLogErrorsCnt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  private final NonceGenerator ng;<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  RawAsyncHBaseAdmin(AsyncConnectionImpl connection, AsyncAdminBuilderBase&lt;?&gt; builder) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.connection = connection;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.rpcTimeoutNs = builder.rpcTimeoutNs;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.operationTimeoutNs = builder.operationTimeoutNs;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.pauseNs = builder.pauseNs;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxAttempts = builder.maxAttempts;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.startLogErrorsCnt = builder.startLogErrorsCnt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    this.ng = connection.getNonceGenerator();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private &lt;T&gt; MasterRequestCallerBuilder&lt;T&gt; newMasterCaller() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.connection.callerFactory.&lt;T&gt; masterRequest()<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        .startLogErrorsCnt(startLogErrorsCnt);<a name="line.245"></a>
 <span class="sourceLineNo">246</span>  }<a name="line.246"></a>
 <span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @FunctionalInterface<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private interface AdminRpcCall&lt;RESP, REQ&gt; {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        RpcCallback&lt;RESP&gt; done);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @FunctionalInterface<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private interface Converter&lt;D, S&gt; {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    D convert(S src) throws IOException;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; call(HBaseRpcController controller,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      MasterService.Interface stub, PREQ preq, MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public void run(PRESP resp) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (controller.failed()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          future.completeExceptionally(controller.getFailed());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          try {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            future.complete(respConverter.convert(resp));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            future.completeExceptionally(e);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    });<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return future;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private &lt;PREQ, PRESP, RESP&gt; CompletableFuture&lt;RESP&gt; adminCall(HBaseRpcController controller,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AdminService.Interface stub, PREQ preq, AdminRpcCall&lt;PRESP, PREQ&gt; rpcCall,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      Converter&lt;RESP, PRESP&gt; respConverter) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    CompletableFuture&lt;RESP&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    rpcCall.call(stub, controller, preq, new RpcCallback&lt;PRESP&gt;() {<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void run(PRESP resp) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (controller.failed()) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          future.completeExceptionally(new IOException(controller.errorText()));<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        } else {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          try {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            future.complete(respConverter.convert(resp));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          } catch (IOException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            future.completeExceptionally(e);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    });<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return future;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private &lt;PREQ, PRESP&gt; CompletableFuture&lt;Void&gt; procedureCall(PREQ preq,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      MasterRpcCall&lt;PRESP, PREQ&gt; rpcCall, Converter&lt;Long, PRESP&gt; respConverter,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      ProcedureBiConsumer consumer) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    CompletableFuture&lt;Long&gt; procFuture = this<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        .&lt;Long&gt; newMasterCaller()<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        .action(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          (controller, stub) -&gt; this.&lt;PREQ, PRESP, Long&gt; call(controller, stub, preq, rpcCall,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            respConverter)).call();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @FunctionalInterface<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private interface TableOperator {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CompletableFuture&lt;Void&gt; operate(TableName table);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; batchTableOperations(Pattern pattern,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      TableOperator operator, String operationType) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; future = new CompletableFuture&lt;&gt;();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    List&lt;TableDescriptor&gt; failed = new LinkedList&lt;&gt;();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    listTables(Optional.ofNullable(pattern), false).whenComplete(<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      (tables, error) -&gt; {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (error != null) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          future.completeExceptionally(error);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          return;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        CompletableFuture[] futures =<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            tables.stream()<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                .map((table) -&gt; operator.operate(table.getTableName()).whenComplete((v, ex) -&gt; {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>                  if (ex != null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>                    LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                    failed.add(table);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                })).&lt;CompletableFuture&gt; toArray(size -&gt; new CompletableFuture[size]);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        CompletableFuture.allOf(futures).thenAccept((v) -&gt; {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          future.complete(failed);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        });<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      });<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    return future;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public CompletableFuture&lt;Boolean&gt; tableExists(TableName tableName) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; listTables(Optional&lt;Pattern&gt; pattern,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      boolean includeSysTables) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return this.&lt;List&lt;TableDescriptor&gt;&gt; newMasterCaller()<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        .action((controller, stub) -&gt; this<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableDescriptor&gt;&gt; call(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              controller, stub,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>              RequestConverter.buildGetTableDescriptorsRequest(pattern, includeSysTables),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              (s, c, req, done) -&gt; s.getTableDescriptors(c, req, done),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              (resp) -&gt; ProtobufUtil.toTableDescriptorList(resp)))<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        .call();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public CompletableFuture&lt;List&lt;TableName&gt;&gt; listTableNames(Optional&lt;Pattern&gt; pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean includeSysTables) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return this.&lt;List&lt;TableName&gt;&gt; newMasterCaller()<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .action((controller, stub) -&gt; this<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            .&lt;GetTableNamesRequest, GetTableNamesResponse, List&lt;TableName&gt;&gt; call(controller, stub,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables),<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              (s, c, req, done) -&gt; s.getTableNames(c, req, done),<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              (resp) -&gt; ProtobufUtil.toTableNameList(resp.getTableNamesList())))<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        .call();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Override<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public CompletableFuture&lt;TableDescriptor&gt; getTableDescriptor(TableName tableName) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    CompletableFuture&lt;TableDescriptor&gt; future = new CompletableFuture&lt;&gt;();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    this.&lt;List&lt;TableSchema&gt;&gt; newMasterCaller()<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        .action(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          (controller, stub) -&gt; this<a name="line.380"></a>
-<span class="sourceLineNo">381</span>              .&lt;GetTableDescriptorsRequest, GetTableDescriptorsResponse, List&lt;TableSchema&gt;&gt; call(<a name="line.381"></a>
-<span class="sourceLineNo">382</span>                controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                    c, req, done) -&gt; s.getTableDescriptors(c, req, done), (resp) -&gt; resp<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                    .getTableSchemaList())).call().whenComplete((tableSchemas, error) -&gt; {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          if (error != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            future.completeExceptionally(error);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            return;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          if (!tableSchemas.isEmpty()) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          } else {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        });<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return future;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      int numRegions) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      return createTable(desc, Optional.of(getSplitKeys(startKey, endKey, numRegions)));<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    } catch (IllegalArgumentException e) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return failedFuture(e);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  @Override<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public CompletableFuture&lt;Void&gt; createTable(TableDescriptor desc, Optional&lt;byte[][]&gt; splitKeys) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    if (desc.getTableName() == null) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    try {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      splitKeys.ifPresent(keys -&gt; verifySplitKeys(keys));<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.&lt;CreateTableRequest, CreateTableResponse&gt; procedureCall(RequestConverter<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          .buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()), (s, c, req,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          done) -&gt; s.createTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        new CreateTableProcedureBiConsumer(this, desc.getTableName()));<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    } catch (IllegalArgumentException e) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return failedFuture(e);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  @Override<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  public CompletableFuture&lt;Void&gt; deleteTable(TableName tableName) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return this.&lt;DeleteTableRequest, DeleteTableResponse&gt; procedureCall(RequestConverter<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      (s, c, req, done) -&gt; s.deleteTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; deleteTables(Pattern pattern) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    return batchTableOperations(pattern, (table) -&gt; deleteTable(table), "DELETE");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>  @Override<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public CompletableFuture&lt;Void&gt; truncateTable(TableName tableName, boolean preserveSplits) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return this.&lt;TruncateTableRequest, TruncateTableResponse&gt; procedureCall(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      RequestConverter.buildTruncateTableRequest(tableName, preserveSplits, ng.getNonceGroup(),<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        ng.newNonce()), (s, c, req, done) -&gt; s.truncateTable(c, req, done),<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      (resp) -&gt; resp.getProcId(), new TruncateTableProcedureBiConsumer(this, tableName));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public CompletableFuture&lt;Void&gt; enableTable(TableName tableName) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this.&lt;EnableTableRequest, EnableTableResponse&gt; procedureCall(RequestConverter<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        .buildEnableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      (s, c, req, done) -&gt; s.enableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      new EnableTableProcedureBiConsumer(this, tableName));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  @Override<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; enableTables(Pattern pattern) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return batchTableOperations(pattern, (table) -&gt; enableTable(table), "ENABLE");<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  @Override<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  public CompletableFuture&lt;Void&gt; disableTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return this.&lt;DisableTableRequest, DisableTableResponse&gt; procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        .buildDisableTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      (s, c, req, done) -&gt; s.disableTable(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      new DisableTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public CompletableFuture&lt;List&lt;TableDescriptor&gt;&gt; disableTables(Pattern pattern) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    return batchTableOperations(pattern, (table) -&gt; disableTable(table), "DISABLE");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public CompletableFuture&lt;Boolean&gt; isTableEnabled(TableName tableName) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      if (error != null) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        future.completeExceptionally(error);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (state.isPresent()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        future.complete(state.get().inStates(TableState.State.ENABLED));<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      } else {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    });<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return future;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public CompletableFuture&lt;Boolean&gt; isTableDisabled(TableName tableName) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    AsyncMetaTableAccessor.getTableState(metaTable, tableName).whenComplete((state, error) -&gt; {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      if (error != null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        future.completeExceptionally(error);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        return;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (state.isPresent()) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        future.complete(state.get().inStates(TableState.State.DISABLED));<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      } else {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        future.completeExceptionally(new TableNotFoundException(tableName));<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    });<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    return future;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>  }<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  @Override<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    return isTableAvailable(tableName, null);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public CompletableFuture&lt;Boolean&gt; isTableAvailable(TableName tableName, byte[][] splitKeys) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    CompletableFuture&lt;Boolean&gt; future = new CompletableFuture&lt;&gt;();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    isTableEnabled(tableName).whenComplete(<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      (enabled, error) -&gt; {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (error != null) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          future.completeExceptionally(error);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          return;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>        }<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!enabled) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          future.complete(false);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        } else {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName))<a name="line.522"></a>
-<span class="sourceLineNo">523</span>              .whenComplete(<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                (locations, error1) -&gt; {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>                  if (error1 != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>                    future.completeExceptionally(error1);<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                    return;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                  int notDeployed = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                  int regionCount = 0;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                  for (HRegionLocation location : locations) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                    HRegionInfo info = location.getRegionInfo();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                    if (location.getServerName() == null) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                      if (LOG.isDebugEnabled()) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                        LOG.debug("Table " + tableName + " has not deployed region "<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                            + info.getEncodedName());<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                      notDeployed++;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                    } else if (splitKeys != null<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                        &amp;&amp; !Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                      for (byte[] splitKey : splitKeys) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                        // Just check if the splitkey is available<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                        if (Bytes.equals(info.getStartKey(), splitKey)) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                          regionCount++;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                          break;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>                      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>                    } else {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                      // Always empty start row should be counted<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                      regionCount++;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>                    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                  if (notDeployed &gt; 0) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                    if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                      LOG.debug("Table " + tableName + " has " + notDeployed + " regions");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>                    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                    future.complete(false);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>                  } else if (splitKeys != null &amp;&amp; regionCount != splitKeys.length + 1) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>                    if (LOG.isDebugEnabled()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>                      LOG.debug("Table " + tableName + " expected to have "<a name="line.560"></a>
-<span class="sourceLineNo">561</span>                          + (splitKeys.length + 1) + " regions, but only " + regionCount<a name="line.561"></a>
-<span class="sourceLineNo">562</span>                          + " available");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>                    future.complete(false);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                  } else {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>                    if (LOG.isDebugEnabled()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                      LOG.debug("Table " + tableName + " should be available");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>                    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>                    future.complete(true);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>                  }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>                });<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      });<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    return future;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>  @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  public CompletableFuture&lt;Pair&lt;Integer, Integer&gt;&gt; getAlterStatus(TableName tableName) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return this<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        .&lt;Pair&lt;Integer, Integer&gt;&gt;newMasterCaller()<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        .action(<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          (controller, stub) -&gt; this<a name="line.582"></a>
-<span class="sourceLineNo">583</span>              .&lt;GetSchemaAlterStatusRequest, GetSchemaAlterStatusResponse, Pair&lt;Integer, Integer&gt;&gt; call(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>                controller, stub, RequestConverter.buildGetSchemaAlterStatusRequest(tableName), (s,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                    c, req, done) -&gt; s.getSchemaAlterStatus(c, req, done), (resp) -&gt; new Pair&lt;&gt;(<a name="line.585"></a>
-<span class="sourceLineNo">586</span>                    resp.getYetToUpdateRegions(), resp.getTotalRegions()))).call();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  public CompletableFuture&lt;Void&gt; addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    return this.&lt;AddColumnRequest, AddColumnResponse&gt; procedureCall(<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      RequestConverter.buildAddColumnRequest(tableName, columnFamily, ng.getNonceGroup(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        ng.newNonce()), (s, c, req, done) -&gt; s.addColumn(c, req, done), (resp) -&gt; resp.getProcId(),<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      new AddColumnFamilyProcedureBiConsumer(this, tableName));<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">5

<TRUNCATED>

[39/40] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b6d8c10/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html b/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
index 5e905d5..9d51767 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":18,"i6":6,"i7":6,"i8":6,"i9":18,"i10":6,"i11":18,"i12":6,"i13":6,"i14":6,"i15":18,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":18,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":18,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":18,"i52":6,"i53":18,"i54":6,"i55":18,"i56":6,"i57":18,"i58":6,"i59":6,"i60":18,"i61":6,"i62":18,"i63":6,"i64":6,"i65":6,"i66":6,"i67":6,"i68":6,"i69":6,"i70":6,"i71":6,"i72":6,"i73":6,"i74":6,"i75":6,"i76":6,"i77":18,"i78":18,"i79":6,"i80":6,"i81":18,"i82":6,"i83":6,"i84":6,"i85":6,"i86":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":18,"i6":6,"i7":6,"i8":6,"i9":18,"i10":6,"i11":18,"i12":6,"i13":6,"i14":6,"i15":18,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":18,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":18,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":18,"i43":6,"i44":6,"i45":6,"i46":18,"i47":6,"i48":18,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":18,"i57":6,"i58":6,"i59":6,"i60":6,"i61":6,"i62":6,"i63":18,"i64":6,"i65":18,"i66":6,"i67":18,"i68":6,"i69":18,"i70":6,"i71":6,"i72":18,"i73":6,"i74":18,"i75":6,"i76":6,"i77":6,"i78":6,"i79":6,"i80":6,"i81":6,"i82":6,"i83":6,"i84":6,"i85":6,"i86":6,"i87":6,"i88":6,"i89":18,"i90":18,"i91":6,"i92":6,"i93":18,"i94":6,"i95":6,"i96":6,"i97":6,"i98":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -102,7 +102,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.47">AsyncAdmin</a></pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.50">AsyncAdmin</a></pre>
 <div class="block">The asynchronous administrative API for HBase.
  <p>
  This feature is still under development, so marked as IA.Private. Will change to public when
@@ -360,42 +360,107 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </td>
 </tr>
 <tr id="i36" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getClusterStatus--">getClusterStatus</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionState-org.apache.hadoop.hbase.TableName-">getCompactionState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the current compaction state of a table.</div>
+</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getCompactionStateForRegion-byte:A-">getCompactionStateForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the current compaction state of region.</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed table.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a></span>(byte[]&nbsp;regionName)</code>
+<div class="block">Get the timestamp of the last major compaction for the passed region.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getMaster--">getMaster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getNamespaceDescriptor-java.lang.String-">getNamespaceDescriptor</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get a namespace descriptor by name</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Get all the online regions on a region server.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getQuota-org.apache.hadoop.hbase.quotas.QuotaFilter-">getQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>
 <div class="block">List the quotas based on the filter.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver.</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionLoads-org.apache.hadoop.hbase.ServerName-java.util.Optional-">getRegionLoads</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableName)</code>
+<div class="block">Get a list of <a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase"><code>RegionLoad</code></a> of all regions hosted on a region seerver for a table.</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getRegionServers--">getRegionServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">getTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Method for getting the tableDescriptor</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Get the regions of a given table.</div>
+</td>
+</tr>
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Query the current state of the balancer.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isMasterInMaintenanceMode--">isMasterInMaintenanceMode</a></span>()</code>
+<div class="block">Check whether master is in maintenance mode</div>
+</td>
+</tr>
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isProcedureFinished-java.lang.String-java.lang.String-java.util.Map-">isProcedureFinished</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;signature,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instance,
@@ -403,17 +468,17 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Check the current state of the specified procedure.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isSnapshotFinished-org.apache.hadoop.hbase.client.SnapshotDescription-">isSnapshotFinished</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Check the current state of the passed snapshot.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">isTableAvailable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 byte[][]&nbsp;splitKeys)</code>
@@ -421,83 +486,83 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listNamespaceDescriptors--">listNamespaceDescriptors</a></span>()</code>
 <div class="block">List available namespace descriptors</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listProcedures--">listProcedures</a></span>()</code>
 <div class="block">List procedures</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicatedTableCFs--">listReplicatedTableCFs</a></span>()</code>
 <div class="block">Find all table and column families that are replicated from this cluster</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers--">listReplicationPeers</a></span>()</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers-java.util.Optional-">listReplicationPeers</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots--">listSnapshots</a></span>()</code>
 <div class="block">List completed snapshots.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots-java.util.Optional-">listSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern)</code>
 <div class="block">List all the completed snapshots matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a></span>()</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.Optional-boolean-">listTableNames</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
               boolean&nbsp;includeSysTables)</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables--">listTables</a></span>()</code>
 <div class="block">List all the userspace tables.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-">listTables</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
           boolean&nbsp;includeSysTables)</code>
 <div class="block">List all the tables matching the given pattern.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-">listTableSnapshots</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;tableNamePattern,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;snapshotNamePattern)</code>
@@ -505,39 +570,39 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
  name regular expression.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Major compact a table.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-java.util.Optional-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within a table.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Major compact a region.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-java.util.Optional-">majorCompactRegion</a></span>(byte[]&nbsp;regionName,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;columnFamily)</code>
 <div class="block">Major compact a column family within region.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegionServer-org.apache.hadoop.hbase.ServerName-">majorCompactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Compact all regions on the region server.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#mergeRegions-byte:A-byte:A-boolean-">mergeRegions</a></span>(byte[]&nbsp;nameOfRegionA,
             byte[]&nbsp;nameOfRegionB,
@@ -545,84 +610,84 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Merge two regions.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Modify an existing column family on a table.</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
 <div class="block">Modify an existing namespace.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#move-byte:A-java.util.Optional-">move</a></span>(byte[]&nbsp;regionName,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;destServerName)</code>
 <div class="block">Move the region <code>r</code> to <code>dest</code>.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#offline-byte:A-">offline</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Remove a peer and stop the replication</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</code>
 <div class="block">Remove some table-cfs from config of the specified peer</div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-boolean-">restoreSnapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setBalancerOn-boolean-">setBalancerOn</a></span>(boolean&nbsp;on)</code>
 <div class="block">Turn the load balancer on or off.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setQuota-org.apache.hadoop.hbase.quotas.QuotaSettings-">setQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)</code>
 <div class="block">Apply the new quota settings.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously.</div>
 </td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -630,51 +695,51 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-java.util.Optional-">splitRegion</a></span>(byte[]&nbsp;regionName,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;splitPoint)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#unassign-byte:A-boolean-">unassign</a></span>(byte[]&nbsp;regionName,
         boolean&nbsp;forcible)</code>
 <div class="block">Unassign a region from current hosting regionserver.</div>
 </td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
@@ -702,7 +767,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>tableExists</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.54">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.57">tableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>tableName</code> - Table to check.</dd>
@@ -718,7 +783,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTables</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.61">listTables</a>()</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.64">listTables</a>()</pre>
 <div class="block">List all the userspace tables.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -734,7 +799,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.71">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.74">listTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
                                                     boolean&nbsp;includeSysTables)</pre>
 <div class="block">List all the tables matching the given pattern.</div>
 <dl>
@@ -752,7 +817,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.79">listTableNames</a>()</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.82">listTableNames</a>()</pre>
 <div class="block">List all of the names of userspace tables.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -768,7 +833,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.89">listTableNames</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.92">listTableNames</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&gt;&nbsp;pattern,
                                                   boolean&nbsp;includeSysTables)</pre>
 <div class="block">List all of the names of userspace tables.</div>
 <dl>
@@ -786,7 +851,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.97">getTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.100">getTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Method for getting the tableDescriptor</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -802,7 +867,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.103">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.106">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
 <div class="block">Creates a new table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -816,7 +881,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.118">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.121">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                                     byte[]&nbsp;startKey,
                                     byte[]&nbsp;endKey,
                                     int&nbsp;numRegions)</pre>
@@ -840,7 +905,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.128">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.131">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[][]&gt;&nbsp;splitKeys)</pre>
 <div class="block">Creates a new table with an initial set of empty regions defined by the specified split keys.
  The total number of regions created will be the number of split keys plus one.
@@ -858,7 +923,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.134">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.137">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Deletes a table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -872,7 +937,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.145">deleteTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.148">deleteTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Delete tables matching the passed in pattern and wait on completion. Warning: Use this method
  carefully, there is no prompting and the effect is immediate. Consider using
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.Optional-boolean-"><code>listTableNames(Optional, boolean)</code></a> and
@@ -892,7 +957,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.152">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.155">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                       boolean&nbsp;preserveSplits)</pre>
 <div class="block">Truncate a table.</div>
 <dl>
@@ -908,7 +973,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.158">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.161">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Enable a table. The table has to be in disabled state for it to be enabled.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -922,7 +987,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.168">enableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.171">enableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Enable tables matching the passed in pattern. Warning: Use this method carefully, there is no
  prompting and the effect is immediate. Consider using <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-"><code>listTables(Optional, boolean)</code></a> and
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-"><code>enableTable(TableName)</code></a></div>
@@ -941,7 +1006,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTable</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.174">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.177">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Disable a table. The table has to be in enabled state for it to be disabled.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -955,7 +1020,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.184">disableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.187">disableTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Disable tables matching the passed in pattern. Warning: Use this method carefully, there is no
  prompting and the effect is immediate. Consider using <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.Optional-boolean-"><code>listTables(Optional, boolean)</code></a> and
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-"><code>disableTable(TableName)</code></a></div>
@@ -974,7 +1039,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableEnabled</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">B

<TRUNCATED>